Sort options alphabetically
Makes for better organizations and easier diffs
This commit is contained in:
parent
235a6d3ce9
commit
c57e7cd2c2
|
@ -32,169 +32,6 @@
|
||||||
environment.etc."nginx/certs/sovr.key" = {
|
environment.etc."nginx/certs/sovr.key" = {
|
||||||
source = ./certs/sovr.key;
|
source = ./certs/sovr.key;
|
||||||
};
|
};
|
||||||
# Bluetooth
|
|
||||||
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
|
||||||
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
|
||||||
hardware.printers = {
|
|
||||||
ensureDefaultPrinter = "HL-L8250CDW";
|
|
||||||
ensurePrinters = [{
|
|
||||||
name = "HL-L8250CDW";
|
|
||||||
deviceUri = "ipps://192.168.88.10/ipp/print";
|
|
||||||
model = "Brother_HL-L8250CDN.ppd";
|
|
||||||
description = "Brother HL-L8250CDW";
|
|
||||||
location = "kids desks";
|
|
||||||
ppdOptions = {
|
|
||||||
PageSize = "Letter";
|
|
||||||
Duplex = "DuplexNoTumble"; # Double-sided along the long edge
|
|
||||||
Resolution = "600dpi";
|
|
||||||
PrintQuality = "4";
|
|
||||||
PwgRasterDocumentType = "Rgb_8";
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.users.eliribble = {
|
|
||||||
home.homeDirectory = "/home/eliribble";
|
|
||||||
# The home.stateVersion option does not have a default and must be set
|
|
||||||
home.stateVersion = "24.05";
|
|
||||||
home.username = "eliribble";
|
|
||||||
home.file.".config/nvim/after/ftplugin/html.vim".source = ./home/eliribble/config/nvim/after/ftplugin/html.vim;
|
|
||||||
home.file.".config/nvim/after/ftplugin/go.vim".source = ./home/eliribble/config/nvim/after/ftplugin/go.vim;
|
|
||||||
home.file.".config/tmux/tmux.conf".source = ./home/eliribble/config/tmux/tmux.conf;
|
|
||||||
programs.fish = {
|
|
||||||
enable = true;
|
|
||||||
interactiveShellInit = ''
|
|
||||||
set fish_greeting # Disable greeting
|
|
||||||
'';
|
|
||||||
#plugins = [
|
|
||||||
#{ name = "grc"; src = pkgs.fishPlugins.grc.src; }
|
|
||||||
#];
|
|
||||||
};
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Eli Ribble";
|
|
||||||
userEmail = "eli@theribbles.org";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
networking.extraHosts = ''
|
|
||||||
192.168.1.5 pihole.home.arpa
|
|
||||||
127.0.0.1 sovr.home.arpa
|
|
||||||
'';
|
|
||||||
networking.hostName = "nalai"; # Define your hostname.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "America/Phoenix";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "en_US.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
|
||||||
LC_MEASUREMENT = "en_US.UTF-8";
|
|
||||||
LC_MONETARY = "en_US.UTF-8";
|
|
||||||
LC_NAME = "en_US.UTF-8";
|
|
||||||
LC_NUMERIC = "en_US.UTF-8";
|
|
||||||
LC_PAPER = "en_US.UTF-8";
|
|
||||||
LC_TELEPHONE = "en_US.UTF-8";
|
|
||||||
LC_TIME = "en_US.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable the KDE Plasma Desktop Environment.
|
|
||||||
services.displayManager.sddm.enable = true;
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
|
|
||||||
services.nginx.enable = true;
|
|
||||||
services.nginx.virtualHosts."sovr.home.arpa" = {
|
|
||||||
addSSL = true;
|
|
||||||
enableACME = false;
|
|
||||||
sslCertificate = "/etc/nginx/certs/sovr.crt";
|
|
||||||
sslCertificateKey = "/etc/nginx/certs/sovr.key";
|
|
||||||
locations."/" = {
|
|
||||||
proxyPass = "http://127.0.0.1:8080";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing.enable = true;
|
|
||||||
services.printing.drivers = [
|
|
||||||
# This PPD file was extracted from a windows BR-Script driver from the Brother website
|
|
||||||
# named 'Y13D_C1-ps-64-120-enus.EXE' when downloaded. I then used '7zz x <file>' to extract it
|
|
||||||
# and 'msexpand USA/brphl8250cdn.pp_' to expand it. Those tools are available in the _7zz and mscompress
|
|
||||||
# modules, respectively: 'nix-shell -p _7zz mscompress'.
|
|
||||||
(pkgs.writeTextDir "share/cups/model/Brother_HL-L8250CDN.ppd" (builtins.readFile ./Brother_HL-L8250CDN.ppd))
|
|
||||||
# See https://github.com/NixOS/nixpkgs/issues/78535#issuecomment-2200268221
|
|
||||||
# for an attempt at making this work when away from the printer
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable rpcbind for nfs mounting
|
|
||||||
services.rpcbind.enable = true;
|
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
|
||||||
# You can disable this if you're only using the Wayland session.
|
|
||||||
services.xserver.enable = true;
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "us";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
# If you want to use JACK applications, uncomment this
|
|
||||||
#jack.enable = true;
|
|
||||||
|
|
||||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
|
||||||
# no need to redefine it in your config for now)
|
|
||||||
#media-session.enable = true;
|
|
||||||
};
|
|
||||||
services.resolved.enable = true;
|
|
||||||
services.tailscale.enable = true;
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
# services.xserver.libinput.enable = true;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
users.users.eliribble = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Eli Ribble";
|
|
||||||
extraGroups = [ "adbusers" "libvirtd" "networkmanager" "wheel" ];
|
|
||||||
packages = with pkgs; [
|
|
||||||
kdePackages.kate
|
|
||||||
# thunderbird
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Set up Android dev tools
|
|
||||||
programs.adb.enable = true;
|
|
||||||
|
|
||||||
# Install firefox.
|
|
||||||
programs.firefox.enable = true;
|
|
||||||
|
|
||||||
# Set neovim as the default editor
|
|
||||||
programs.neovim.enable = true;
|
|
||||||
programs.neovim.defaultEditor = true;
|
|
||||||
programs.virt-manager.enable = true;
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
||||||
"brgenml1lpr" "lunar-client" "spotify"
|
|
||||||
];
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
@ -245,24 +82,182 @@
|
||||||
websocat
|
websocat
|
||||||
];
|
];
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Bluetooth
|
||||||
# started in user sessions.
|
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
||||||
# programs.mtr.enable = true;
|
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
||||||
# programs.gnupg.agent = {
|
hardware.printers = {
|
||||||
# enable = true;
|
ensureDefaultPrinter = "HL-L8250CDW";
|
||||||
# enableSSHSupport = true;
|
ensurePrinters = [{
|
||||||
# };
|
name = "HL-L8250CDW";
|
||||||
|
deviceUri = "ipps://192.168.88.10/ipp/print";
|
||||||
|
model = "Brother_HL-L8250CDN.ppd";
|
||||||
|
description = "Brother HL-L8250CDW";
|
||||||
|
location = "kids desks";
|
||||||
|
ppdOptions = {
|
||||||
|
PageSize = "Letter";
|
||||||
|
Duplex = "DuplexNoTumble"; # Double-sided along the long edge
|
||||||
|
Resolution = "600dpi";
|
||||||
|
PrintQuality = "4";
|
||||||
|
PwgRasterDocumentType = "Rgb_8";
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
|
||||||
# List services that you want to enable:
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.users.eliribble = {
|
||||||
|
home.homeDirectory = "/home/eliribble";
|
||||||
|
# The home.stateVersion option does not have a default and must be set
|
||||||
|
home.stateVersion = "24.05";
|
||||||
|
home.username = "eliribble";
|
||||||
|
home.file.".config/nvim/after/ftplugin/html.vim".source = ./home/eliribble/config/nvim/after/ftplugin/html.vim;
|
||||||
|
home.file.".config/nvim/after/ftplugin/go.vim".source = ./home/eliribble/config/nvim/after/ftplugin/go.vim;
|
||||||
|
home.file.".config/tmux/tmux.conf".source = ./home/eliribble/config/tmux/tmux.conf;
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
interactiveShellInit = ''
|
||||||
|
set fish_greeting # Disable greeting
|
||||||
|
'';
|
||||||
|
#plugins = [
|
||||||
|
#{ name = "grc"; src = pkgs.fishPlugins.grc.src; }
|
||||||
|
#];
|
||||||
|
};
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Eli Ribble";
|
||||||
|
userEmail = "eli@theribbles.org";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
i18n.extraLocaleSettings = {
|
||||||
# services.openssh.enable = true;
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "en_US.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "en_US.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.extraHosts = ''
|
||||||
|
192.168.1.5 pihole.home.arpa
|
||||||
|
127.0.0.1 sovr.home.arpa
|
||||||
|
'';
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
networking.firewall.allowedTCPPorts = [ 5353 50007 ];
|
networking.firewall.allowedTCPPorts = [ 5353 50007 ];
|
||||||
networking.firewall.allowedUDPPorts = [ 5353 50007 ];
|
networking.firewall.allowedUDPPorts = [ 5353 50007 ];
|
||||||
# Or disable the firewall altogether.
|
# Or disable the firewall altogether.
|
||||||
# networking.firewall.enable = false;
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
networking.hostName = "nalai"; # Define your hostname.
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
||||||
|
"brgenml1lpr" "lunar-client" "spotify"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Set up Android dev tools
|
||||||
|
programs.adb.enable = true;
|
||||||
|
|
||||||
|
# Install firefox.
|
||||||
|
programs.firefox.enable = true;
|
||||||
|
|
||||||
|
# Set neovim as the default editor
|
||||||
|
programs.neovim.enable = true;
|
||||||
|
programs.neovim.defaultEditor = true;
|
||||||
|
programs.virt-manager.enable = true;
|
||||||
|
|
||||||
|
# Enable the KDE Plasma Desktop Environment.
|
||||||
|
services.displayManager.sddm.enable = true;
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
|
services.nginx.enable = true;
|
||||||
|
services.nginx.virtualHosts."sovr.home.arpa" = {
|
||||||
|
addSSL = true;
|
||||||
|
enableACME = false;
|
||||||
|
sslCertificate = "/etc/nginx/certs/sovr.crt";
|
||||||
|
sslCertificateKey = "/etc/nginx/certs/sovr.key";
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:8080";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
services.printing.drivers = [
|
||||||
|
# This PPD file was extracted from a windows BR-Script driver from the Brother website
|
||||||
|
# named 'Y13D_C1-ps-64-120-enus.EXE' when downloaded. I then used '7zz x <file>' to extract it
|
||||||
|
# and 'msexpand USA/brphl8250cdn.pp_' to expand it. Those tools are available in the _7zz and mscompress
|
||||||
|
# modules, respectively: 'nix-shell -p _7zz mscompress'.
|
||||||
|
(pkgs.writeTextDir "share/cups/model/Brother_HL-L8250CDN.ppd" (builtins.readFile ./Brother_HL-L8250CDN.ppd))
|
||||||
|
# See https://github.com/NixOS/nixpkgs/issues/78535#issuecomment-2200268221
|
||||||
|
# for an attempt at making this work when away from the printer
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable rpcbind for nfs mounting
|
||||||
|
services.rpcbind.enable = true;
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
# You can disable this if you're only using the Wayland session.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "us";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
# If you want to use JACK applications, uncomment this
|
||||||
|
#jack.enable = true;
|
||||||
|
|
||||||
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||||
|
# no need to redefine it in your config for now)
|
||||||
|
#media-session.enable = true;
|
||||||
|
};
|
||||||
|
services.resolved.enable = true;
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
systemd.network.enable = true;
|
||||||
|
systemd.network.wait-online.enable = false;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "America/Phoenix";
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.eliribble = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Eli Ribble";
|
||||||
|
extraGroups = [ "adbusers" "libvirtd" "networkmanager" "wheel" ];
|
||||||
|
packages = with pkgs; [
|
||||||
|
kdePackages.kate
|
||||||
|
# thunderbird
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.docker.enable = false;
|
||||||
|
virtualisation.libvirtd.enable = true;
|
||||||
|
virtualisation.podman.enable = true;
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
@ -270,11 +265,4 @@
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "24.05"; # Did you read the comment?
|
system.stateVersion = "24.05"; # Did you read the comment?
|
||||||
|
|
||||||
systemd.network.enable = true;
|
|
||||||
systemd.network.wait-online.enable = false;
|
|
||||||
|
|
||||||
virtualisation.docker.enable = false;
|
|
||||||
virtualisation.libvirtd.enable = true;
|
|
||||||
virtualisation.podman.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue