From 5ed62545015feb88bcb51945786c1eabfc7af332 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 3 Apr 2023 20:25:03 +0000 Subject: [PATCH 01/92] Update vm.nix --- systems/vm.nix | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/systems/vm.nix b/systems/vm.nix index 7e62d53..31803ac 100644 --- a/systems/vm.nix +++ b/systems/vm.nix @@ -55,11 +55,6 @@ hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; packages = with pkgs; [ - # Fonts - fira - fira-mono - restic - neofetch ]; }; @@ -71,11 +66,6 @@ environment.systemPackages = with pkgs; [ - avahi - cargo - dmidecode - libcamera - lshw nix-index toybox unzip From d305cd5fc3431f1935616c100a582c98f0cba3b2 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 3 Apr 2023 22:21:20 +0000 Subject: [PATCH 02/92] Update configuration.nix --- configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index c581abd..dd3df7f 100644 --- a/configuration.nix +++ b/configuration.nix @@ -12,7 +12,6 @@ # Latest kernel boot.kernelPackages = pkgs.linuxPackages_latest; - boot.kernelParams = [ "vfio-pci.ids=8086:9b41" "qxl" "bochs_drm"]; boot.loader = { systemd-boot.enable = true; From 8470d6e6a4938ad4a5a523075da5b1e277c712d2 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 4 Apr 2023 13:11:08 +0000 Subject: [PATCH 03/92] Update vm.nix --- systems/vm.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/systems/vm.nix b/systems/vm.nix index 31803ac..97c510d 100644 --- a/systems/vm.nix +++ b/systems/vm.nix @@ -19,13 +19,6 @@ systemd-boot.consoleMode = "0"; }; - boot.initrd.luks.devices = { - root = { - device = "/dev/sda"; - preLVM = true; - }; - }; - boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; nix.settings.extra-platforms = [ "aarch64-linux" ]; From a91ccc613b7c069f253277d700c7697b1fe04d73 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 14 Apr 2023 14:05:47 -0600 Subject: [PATCH 04/92] remove empty home directory --- home/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 home/.gitkeep diff --git a/home/.gitkeep b/home/.gitkeep deleted file mode 100644 index e69de29..0000000 From 7d9fa427afc53bc12a432b4ba4c5772748fa2e13 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 17 Apr 2023 13:18:51 +0000 Subject: [PATCH 05/92] Add new file --- systems/thelio-nvidia.nix | 124 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 systems/thelio-nvidia.nix diff --git a/systems/thelio-nvidia.nix b/systems/thelio-nvidia.nix new file mode 100644 index 0000000..2d99e8f --- /dev/null +++ b/systems/thelio-nvidia.nix @@ -0,0 +1,124 @@ +{ config, pkgs, ... }: + +{ + # Import other configuration modules + # (hardware-configuration.nix is autogenerated upon installation) + # paths in nix expressions are always relative the file which defines them + imports = + [ + ./hardware-configuration.nix +# ./programs.nix + ]; + + # Latest kernel + # boot.kernelPackages = pkgs.linuxPackages_latest; + + boot.loader = { + systemd-boot.enable = true; + systemd-boot.consoleMode = "0"; + }; + + boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + + nix.settings.extra-platforms = [ "aarch64-linux" ]; + nix.settings.auto-optimise-store = true; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "America/Denver"; + + # Enter keyboard layout + services.xserver.layout = "us"; + + # Enable Flatpak + xdg = { + portal = { + enable = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-wlr + xdg-desktop-portal-kde + ]; + }; + }; + + # Define user accounts + users.users.aaronh = { + description = "Aaron Honeycutt"; + home = "/home/aaronh"; + extraGroups = [ "wheel" "networkmanager" "adm"]; + isNormalUser = true; + hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; + + packages = with pkgs; [ + # Fonts + fira + fira-mono + mdbook + restic + roboto-slab + + # CLI + neofetch + ]; + }; + + # Allow Unfree + nixpkgs.config.allowUnfree = true; + + # Install some packages + environment.systemPackages = + with pkgs; + [ + avahi + cargo + dmidecode + libcamera + lshw + nix-index + toybox + unzip + wget + xz + ]; + + # Enable/Disable hardware + ## Turn off PulseAudio + hardware.pulseaudio.enable = false; + + # Enable Pipewire + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + # Enable Bluetooth + hardware.bluetooth.enable = true; + + # Enable services + services.flatpak.enable = true; + services.fwupd.enable = true; + services.printing.enable = true; + services.openssh.enable = true; + + services.avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + }; + + # System + system.stateVersion = "22.11"; + system.autoUpgrade.enable = true; + +} From dd911a2fd717aa54b7f537121c22145833a3a373 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 17 Apr 2023 13:54:58 +0000 Subject: [PATCH 06/92] Update hp-omen.nix --- systems/hp-omen.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systems/hp-omen.nix b/systems/hp-omen.nix index 372a311..f5eab2c 100644 --- a/systems/hp-omen.nix +++ b/systems/hp-omen.nix @@ -9,8 +9,8 @@ hardware.opengl.enable = true; hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; - ## Enable 32 Bit libraries for applications like Steam - hardware.opengl.driSupport32Bit = true; + ## Enable 32 Bit libraries for applications like Steam + hardware.opengl.driSupport32Bit = true; # Allow Unfree nixpkgs.config.allowUnfree = true; From 96d9e4580f3bc809da3ffee5c75ef55aa1d9df6e Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 17 Apr 2023 14:43:10 +0000 Subject: [PATCH 07/92] Update thelio-nvidia.nix --- systems/thelio-nvidia.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/systems/thelio-nvidia.nix b/systems/thelio-nvidia.nix index 2d99e8f..6e07371 100644 --- a/systems/thelio-nvidia.nix +++ b/systems/thelio-nvidia.nix @@ -18,6 +18,13 @@ systemd-boot.consoleMode = "0"; }; + boot.initrd.luks.devices = { + root = { + device = "/dev/sda"; + preLVM = true; + }; + }; + boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; nix.settings.extra-platforms = [ "aarch64-linux" ]; From 5283872839845f390bc3a6b2494761c3bf8d0706 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 17 Apr 2023 17:15:39 +0000 Subject: [PATCH 08/92] Add NVIDIA driver --- systems/thelio-nvidia.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/systems/thelio-nvidia.nix b/systems/thelio-nvidia.nix index 6e07371..965655c 100644 --- a/systems/thelio-nvidia.nix +++ b/systems/thelio-nvidia.nix @@ -76,7 +76,15 @@ neofetch ]; }; - + + # System76 + hardware.system76.enableAll = true; + + # NVIDIA + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.opengl.enable = true; + hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; + # Allow Unfree nixpkgs.config.allowUnfree = true; From 9a23134df14a097798fd697ee744717c857029b9 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 17 Apr 2023 17:34:46 +0000 Subject: [PATCH 09/92] Update thelio-nvidia.nix --- systems/thelio-nvidia.nix | 142 +++----------------------------------- 1 file changed, 10 insertions(+), 132 deletions(-) diff --git a/systems/thelio-nvidia.nix b/systems/thelio-nvidia.nix index 965655c..9cd7d3a 100644 --- a/systems/thelio-nvidia.nix +++ b/systems/thelio-nvidia.nix @@ -1,139 +1,17 @@ { config, pkgs, ... }: { - # Import other configuration modules - # (hardware-configuration.nix is autogenerated upon installation) - # paths in nix expressions are always relative the file which defines them - imports = - [ - ./hardware-configuration.nix -# ./programs.nix - ]; + # Name your host machine + networking.hostName = "thelio-b1"; - # Latest kernel - # boot.kernelPackages = pkgs.linuxPackages_latest; + # System76 + hardware.system76.enableAll = true; - boot.loader = { - systemd-boot.enable = true; - systemd-boot.consoleMode = "0"; - }; - - boot.initrd.luks.devices = { - root = { - device = "/dev/sda"; - preLVM = true; - }; - }; - - boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; - - nix.settings.extra-platforms = [ "aarch64-linux" ]; - nix.settings.auto-optimise-store = true; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - - networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "America/Denver"; - - # Enter keyboard layout - services.xserver.layout = "us"; - - # Enable Flatpak - xdg = { - portal = { - enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-wlr - xdg-desktop-portal-kde - ]; - }; - }; - - # Define user accounts - users.users.aaronh = { - description = "Aaron Honeycutt"; - home = "/home/aaronh"; - extraGroups = [ "wheel" "networkmanager" "adm"]; - isNormalUser = true; - hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; - - packages = with pkgs; [ - # Fonts - fira - fira-mono - mdbook - restic - roboto-slab - - # CLI - neofetch - ]; - }; - - # System76 - hardware.system76.enableAll = true; - - # NVIDIA - services.xserver.videoDrivers = [ "nvidia" ]; - hardware.opengl.enable = true; - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; - - # Allow Unfree - nixpkgs.config.allowUnfree = true; - - # Install some packages - environment.systemPackages = - with pkgs; - [ - avahi - cargo - dmidecode - libcamera - lshw - nix-index - toybox - unzip - wget - xz - ]; - - # Enable/Disable hardware - ## Turn off PulseAudio - hardware.pulseaudio.enable = false; - - # Enable Pipewire - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - # Enable Bluetooth - hardware.bluetooth.enable = true; - - # Enable services - services.flatpak.enable = true; - services.fwupd.enable = true; - services.printing.enable = true; - services.openssh.enable = true; - - services.avahi = { - enable = true; - nssmdns = true; - openFirewall = true; - }; - - # System - system.stateVersion = "22.11"; - system.autoUpgrade.enable = true; + # NVIDIA + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.opengl.enable = true; + hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; + # Allow Unfree + nixpkgs.config.allowUnfree = true; } From 9496b7bb7ae320c6e9d9465dd25a81d9919c4f48 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 18 Apr 2023 22:55:03 +0000 Subject: [PATCH 10/92] Update configuration.nix --- configuration.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/configuration.nix b/configuration.nix index dd3df7f..431050e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -61,13 +61,7 @@ # Fonts fira fira-mono - firefox - mdbook - restic roboto-slab - - neofetch - thunderbird ]; }; From 72076459caea5506fe28be44c47a86e3a07a2fba Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 18 Apr 2023 22:55:09 +0000 Subject: [PATCH 11/92] Update home.nix --- home.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/home.nix b/home.nix index 192796d..289b873 100644 --- a/home.nix +++ b/home.nix @@ -19,8 +19,15 @@ nixpkgs.config.allowUnfree = true; home.packages = with pkgs; [ + # GUI + firefox spotify vscode + + # CLI + mdbook + neofetch + restic ]; programs.bash = { From 3bd72c61c7788d5c03e274160b37822fbdee2bec Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 18 Apr 2023 23:01:32 +0000 Subject: [PATCH 12/92] Update configuration.nix --- configuration.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/configuration.nix b/configuration.nix index 431050e..0d2a2ae 100644 --- a/configuration.nix +++ b/configuration.nix @@ -62,6 +62,13 @@ fira fira-mono roboto-slab + + # CLI + git + git-lfs + + # GUI + firefox ]; }; From d1a92b19384afc45422c830093412b39c9991af1 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 21 Apr 2023 17:20:40 +0000 Subject: [PATCH 13/92] Add herbstluftvm --- desktops/herbstluftvm.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 desktops/herbstluftvm.nix diff --git a/desktops/herbstluftvm.nix b/desktops/herbstluftvm.nix new file mode 100644 index 0000000..f09146c --- /dev/null +++ b/desktops/herbstluftvm.nix @@ -0,0 +1,11 @@ +{ config, pkgs, ... }: + +{ + # Start herbstluftvm + services.xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.herbstluftvm.enable = true; + }; +} + From 23ed83519c06b9e31a30a547383645fd3502fea3 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 21 Apr 2023 17:22:40 +0000 Subject: [PATCH 14/92] Update herbstluftvm.nix --- desktops/herbstluftvm.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/desktops/herbstluftvm.nix b/desktops/herbstluftvm.nix index f09146c..0c0622b 100644 --- a/desktops/herbstluftvm.nix +++ b/desktops/herbstluftvm.nix @@ -7,5 +7,10 @@ displayManager.gdm.enable = true; desktopManager.herbstluftvm.enable = true; }; + + environment.systemPackages = (with pkgs; [ + polybar # status bar + rofi # launcher + ]); } From 54724b0ecbceb25941549f14545c96139efcb89f Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 21 Apr 2023 20:32:22 +0000 Subject: [PATCH 15/92] Update herbstluftvm.nix --- desktops/herbstluftvm.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/desktops/herbstluftvm.nix b/desktops/herbstluftvm.nix index 0c0622b..32001c0 100644 --- a/desktops/herbstluftvm.nix +++ b/desktops/herbstluftvm.nix @@ -5,12 +5,16 @@ services.xserver = { enable = true; displayManager.gdm.enable = true; - desktopManager.herbstluftvm.enable = true; - }; + windowManager.herbstluftvm.enable = { + enable =true; + extraPackages = with pkgs; [ + polybar # status bar + rofi # launcher + ]; + }}; - environment.systemPackages = (with pkgs; [ - polybar # status bar - rofi # launcher + environment.systemPackages = (with pkgs; [ + firefox ]); } From abdcde3d2c069fa930d0a7980aad326ad1571f0b Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 25 Apr 2023 16:13:38 +0000 Subject: [PATCH 16/92] Not needed for uname anymore --- configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index 0d2a2ae..310c9c3 100644 --- a/configuration.nix +++ b/configuration.nix @@ -85,7 +85,6 @@ libcamera lshw nix-index - toybox unzip wget xz From e064478ba958d76ddf9871be7ea3f03771b8a27b Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 25 Apr 2023 19:23:25 +0000 Subject: [PATCH 17/92] Update vm.nix --- systems/vm.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/systems/vm.nix b/systems/vm.nix index 97c510d..0025aa0 100644 --- a/systems/vm.nix +++ b/systems/vm.nix @@ -60,7 +60,6 @@ with pkgs; [ nix-index - toybox unzip wget xz From a04e05581a5e44e368f47ebc5b90d73fabd5c583 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 25 Apr 2023 19:24:18 +0000 Subject: [PATCH 18/92] Update harbinger.nix --- systems/harbinger.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/systems/harbinger.nix b/systems/harbinger.nix index 5a1a5ac..81c214c 100644 --- a/systems/harbinger.nix +++ b/systems/harbinger.nix @@ -91,7 +91,6 @@ rubyPackages.jekyll-feed rubyPackages.jekyll-redirect-from sysstat - toybox tree wget ]; From e9e467b53f18a5ce8dd83233add3e517eacfb44f Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 25 Apr 2023 19:24:29 +0000 Subject: [PATCH 19/92] Update sovereign.nix --- systems/sovereign.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/systems/sovereign.nix b/systems/sovereign.nix index 98ddd12..0cf49be 100644 --- a/systems/sovereign.nix +++ b/systems/sovereign.nix @@ -104,7 +104,6 @@ mtr neofetch sysstat - toybox tree wget ]; From 2afd6ddd26550586482c056f421ef3b126c763cd Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 25 Apr 2023 20:34:43 +0000 Subject: [PATCH 20/92] Update herbstluftvm.nix --- desktops/herbstluftvm.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/desktops/herbstluftvm.nix b/desktops/herbstluftvm.nix index 32001c0..2b6d3e4 100644 --- a/desktops/herbstluftvm.nix +++ b/desktops/herbstluftvm.nix @@ -5,16 +5,14 @@ services.xserver = { enable = true; displayManager.gdm.enable = true; - windowManager.herbstluftvm.enable = { - enable =true; - extraPackages = with pkgs; [ - polybar # status bar - rofi # launcher - ]; - }}; + windowManager.herbstluftvm.enable = true; + }; environment.systemPackages = (with pkgs; [ - firefox + polybar # status bar + rofi # launcher ]); } + + From 165b990bb574152c745038d1497bc3c9704f9711 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 25 Apr 2023 20:36:53 +0000 Subject: [PATCH 21/92] Update herbstluftvm.nix --- desktops/{herbstluftvm.nix => herbstluftwm.nix} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename desktops/{herbstluftvm.nix => herbstluftwm.nix} (75%) diff --git a/desktops/herbstluftvm.nix b/desktops/herbstluftwm.nix similarity index 75% rename from desktops/herbstluftvm.nix rename to desktops/herbstluftwm.nix index 2b6d3e4..fd88d14 100644 --- a/desktops/herbstluftvm.nix +++ b/desktops/herbstluftwm.nix @@ -1,11 +1,11 @@ { config, pkgs, ... }: { - # Start herbstluftvm + # Start herbstluftwm services.xserver = { enable = true; displayManager.gdm.enable = true; - windowManager.herbstluftvm.enable = true; + windowManager.herbstluftwm.enable = true; }; environment.systemPackages = (with pkgs; [ From 961561aae1fe1228c084befc48e58538f66e0689 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 4 May 2023 16:30:17 +0000 Subject: [PATCH 22/92] Update harbinger.nix --- systems/harbinger.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/systems/harbinger.nix b/systems/harbinger.nix index 81c214c..6d376dd 100644 --- a/systems/harbinger.nix +++ b/systems/harbinger.nix @@ -83,7 +83,6 @@ acme-sh git git-lfs - inetutils jekyll mtr neofetch From 28e06e1b1db5ae270977bc414055713d7d374f3b Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 4 May 2023 16:30:24 +0000 Subject: [PATCH 23/92] Update sovereign.nix --- systems/sovereign.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/systems/sovereign.nix b/systems/sovereign.nix index 0cf49be..b61b256 100644 --- a/systems/sovereign.nix +++ b/systems/sovereign.nix @@ -100,7 +100,6 @@ environment.systemPackages = with pkgs; [ acme-sh git - inetutils mtr neofetch sysstat From a09b114be513ffcfdb7a4378911befb66e2df9b9 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 8 May 2023 20:23:49 +0000 Subject: [PATCH 24/92] Update rpi4.nix --- systems/rpi4.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/rpi4.nix b/systems/rpi4.nix index 94cc8bb..93d6cb8 100644 --- a/systems/rpi4.nix +++ b/systems/rpi4.nix @@ -16,7 +16,7 @@ }; networking = { - hostName = "Vetra"; + hostName = "vetra"; networkmanager.enable = true; }; From b1427501ea332497c7608c3d39adcb0a57caa00f Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 8 May 2023 20:24:02 +0000 Subject: [PATCH 25/92] Update pinephone.nix --- systems/pinephone.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/pinephone.nix b/systems/pinephone.nix index e2217fe..7017125 100644 --- a/systems/pinephone.nix +++ b/systems/pinephone.nix @@ -7,7 +7,7 @@ ]; - networking.hostName = "Peebee"; + networking.hostName = "peebee"; time.timeZone = "America/Denver"; # From df1a852ccbe4c4ead637f866fb07bbffe1edb4f2 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 8 May 2023 20:24:39 +0000 Subject: [PATCH 26/92] Update pbp.nix --- systems/pbp.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/pbp.nix b/systems/pbp.nix index 52054d4..d4f4b62 100644 --- a/systems/pbp.nix +++ b/systems/pbp.nix @@ -2,6 +2,6 @@ { # Name your host machine - networking.hostName = "Jaal"; + networking.hostName = "jaal"; } From 16eb3f3fd42b4ccb431375b9b1f0c0645bd36cd1 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 8 May 2023 20:24:47 +0000 Subject: [PATCH 27/92] Update pinebook-pro.nix --- systems/pinebook-pro.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/pinebook-pro.nix b/systems/pinebook-pro.nix index af1193d..aef143f 100644 --- a/systems/pinebook-pro.nix +++ b/systems/pinebook-pro.nix @@ -64,7 +64,7 @@ }; networking = { - hostName = "pbp"; + hostName = "jaal"; networkmanager.enable = true; }; From 41fb5258fa9059e9230e9bd68369e37b71e3e9e9 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 14:35:42 +0000 Subject: [PATCH 28/92] Update configuration.nix --- configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index 310c9c3..a7f7359 100644 --- a/configuration.nix +++ b/configuration.nix @@ -60,7 +60,6 @@ packages = with pkgs; [ # Fonts fira - fira-mono roboto-slab # CLI From e42c027cc0532c869c49dff4bb13f6c026668d2a Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 22:03:01 +0000 Subject: [PATCH 29/92] Update rpi4.nix --- systems/rpi4.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/systems/rpi4.nix b/systems/rpi4.nix index 93d6cb8..f798036 100644 --- a/systems/rpi4.nix +++ b/systems/rpi4.nix @@ -39,9 +39,12 @@ home = "/home/aaronh"; extraGroups = [ "wheel" "networkmanager" "adm"]; isNormalUser = true; + shell = pkgs.fish; hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; }; + programs.fish.enable = true; + # Enable Pipewire security.rtkit.enable = true; services.pipewire = { @@ -73,5 +76,4 @@ system.stateVersion = "22.11"; system.autoUpgrade.enable = true; - } From 620169fad46e460842b9481911d5fdd9e17fc262 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 22:04:21 +0000 Subject: [PATCH 30/92] Update rpi4.nix --- systems/rpi4.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/systems/rpi4.nix b/systems/rpi4.nix index f798036..315e765 100644 --- a/systems/rpi4.nix +++ b/systems/rpi4.nix @@ -7,6 +7,8 @@ # ./programs.nix ]; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + fileSystems = { "/" = { device = "/dev/disk/by-label/NIXOS_SD"; From 423504ec6769151116d4992230ef967f03804b15 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 22:08:48 +0000 Subject: [PATCH 31/92] Update rpi4.nix --- systems/rpi4.nix | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/systems/rpi4.nix b/systems/rpi4.nix index 315e765..3e83893 100644 --- a/systems/rpi4.nix +++ b/systems/rpi4.nix @@ -1,12 +1,15 @@ { config, pkgs, lib, ... }: { - imports = - [ - -# ./programs.nix + imports = [ +# + ./home-assistant.nix +# ./gnome.nix +# ./programs.nix ]; +# boot.kernelPackages = pkgs.linuxPackages_latest; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; fileSystems = { @@ -36,7 +39,7 @@ ]; # Define user accounts - users.extraUsers.aaronh = { + users.users.aaronh = { description = "Aaron Honeycutt"; home = "/home/aaronh"; extraGroups = [ "wheel" "networkmanager" "adm"]; @@ -62,7 +65,7 @@ # Enable Bluetooth hardware.bluetooth.enable = true; - # Enable the OpenSSH daemon + # Enable SSH services.openssh.enable = true; # Enable CUPS @@ -74,8 +77,15 @@ # Allow Unfree nixpkgs.config.allowUnfree = true; + services.hydra = { + enable = false; + hydraURL = "http://localhost:3000"; + notificationSender = "hydra@localhost"; + buildMachinesFiles = []; + useSubstitutes = true; + }; + # System system.stateVersion = "22.11"; system.autoUpgrade.enable = true; - } From dfb24734166f4b6130ed0e22e7866de99fba75f7 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 16:11:04 -0600 Subject: [PATCH 32/92] Update Raspberry Pi 4B configs --- systems/{rpi4.nix => vetra/configuration.nix} | 0 systems/vetra/flake.nix | 66 +++++++++++++++++++ 2 files changed, 66 insertions(+) rename systems/{rpi4.nix => vetra/configuration.nix} (100%) create mode 100644 systems/vetra/flake.nix diff --git a/systems/rpi4.nix b/systems/vetra/configuration.nix similarity index 100% rename from systems/rpi4.nix rename to systems/vetra/configuration.nix diff --git a/systems/vetra/flake.nix b/systems/vetra/flake.nix new file mode 100644 index 0000000..a5ea9f1 --- /dev/null +++ b/systems/vetra/flake.nix @@ -0,0 +1,66 @@ +{ + description = "ahoneybun's NixOS Flake"; + + # This is the standard format for flake.nix. `inputs` are the dependencies of the flake, + # and `outputs` function will return all the build results of the flake. + # Each item in `inputs` will be passed as a parameter to the `outputs` function after being pulled and built. + inputs = { + # There are many ways to reference flake inputs. The most widely used is github:owner/name/reference, + # which represents the GitHub repository URL + branch/commit-id/tag. + + # Official NixOS package source, using nixos-unstable branch here + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + # home-manager, used for managing user configuration + home-manager = { + url = "github:nix-community/home-manager/release-22.11"; + # The `follows` keyword in inputs is used for inheritance. + # Here, `inputs.nixpkgs` of home-manager is kept consistent with the `inputs.nixpkgs` of the current flake, + # to avoid problems caused by different versions of nixpkgs dependencies. + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; + }; + + # `outputs` are all the build result of the flake. + # A flake can have many use cases and different types of outputs. + # parameters in `outputs` are defined in `inputs` and can be referenced by their names. + # However, `self` is an exception, This special parameter points to the `outputs` itself (self-reference) + # The `@` syntax here is used to alias the attribute set of the inputs's parameter, making it convenient to use inside the function. + outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: { + # Outputs named `nixosConfigurations` is used by execute `nixos-rebuild switch --flake /path/to/flakes/directory` on NixOS System. + nixosConfigurations = { + # By default, NixOS will try to refer the nixosConfiguration with its hostname. + # so the system named `nixos-test` will use this configuration. + # However, the configuration name can also be specified using `nixos-rebuild switch --flake /path/to/flakes/directory#`. + # The `nixpkgs.lib.nixosSystem` function is used to build this configuration, the following attribute set is its parameter. + # Run `nixos-rebuild switch --flake .#nixos-test` in the flake's directory to deploy this configuration on any NixOS system + "vetra" = nixpkgs.lib.nixosSystem { + system = "aarch64-linux"; + + # The Nix module system can modularize configurations, improving the maintainability of configurations. + # + # Each parameter in the `modules` is a Nix Module, and there is a partial introduction to it in the nixpkgs manual: + # + # It is said to be partial because the documentation is not complete, only some simple introductions + # (such is the current state of Nix documentation...) + # A Nix Module can be an attribute set, or a function that returns an attribute set. + # If a Module is a function, according to the Nix Wiki description, this function can have up to four parameters: + # + # config: The configuration of the entire system + # options: All option declarations refined with all definition and declaration references. + # pkgs: The attribute set extracted from the Nix package collection and enhanced with the nixpkgs.config option. + # modulesPath: The location of the module directory of Nix. + # + # Only these four parameters can be passed by default. + # If you need to pass other parameters, you must use `specialArgs` by uncomment the following line + # specialArgs = {...} # pass custom arguments into sub module. + modules = [ + # Import the configuration.nix we used before, so that the old configuration file can still take effect. + # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here + nixos-hardware.nixosModules.raspberry-pi-4 + ./configuration.nix + ]; + }; + }; + }; +} From 0bc47410ebe0c5b09490a59f758f7deb836b5e59 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 16:14:26 -0600 Subject: [PATCH 33/92] Split aarch64 and x86_64 --- systems/{ => aarch64}/vetra/configuration.nix | 0 systems/{ => aarch64}/vetra/flake.nix | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename systems/{ => aarch64}/vetra/configuration.nix (100%) rename systems/{ => aarch64}/vetra/flake.nix (100%) diff --git a/systems/vetra/configuration.nix b/systems/aarch64/vetra/configuration.nix similarity index 100% rename from systems/vetra/configuration.nix rename to systems/aarch64/vetra/configuration.nix diff --git a/systems/vetra/flake.nix b/systems/aarch64/vetra/flake.nix similarity index 100% rename from systems/vetra/flake.nix rename to systems/aarch64/vetra/flake.nix From 7e9736623075acd61f38106871d453030058db44 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 22:16:12 +0000 Subject: [PATCH 34/92] Update galp3-b.nix --- systems/galp3-b.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/galp3-b.nix b/systems/galp3-b.nix index 4350b02..37527a8 100644 --- a/systems/galp3-b.nix +++ b/systems/galp3-b.nix @@ -2,7 +2,7 @@ { # Name your host machine - networking.hostName = "Garrus"; + networking.hostName = "garrus"; # System76 hardware.system76.enableAll = true; From 8fa9a9c1eb1067612191948f66f8fd7903e1dc06 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 16:17:16 -0600 Subject: [PATCH 35/92] Add galp3-b AKA garrus --- systems/{galp3-b.nix => x86_64/garrus/configuartion.nix} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename systems/{galp3-b.nix => x86_64/garrus/configuartion.nix} (100%) diff --git a/systems/galp3-b.nix b/systems/x86_64/garrus/configuartion.nix similarity index 100% rename from systems/galp3-b.nix rename to systems/x86_64/garrus/configuartion.nix From c677ea1b89c61a05a870b65a9b1a787ad8297d66 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 16:18:39 -0600 Subject: [PATCH 36/92] Move aarch64 devices --- systems/aarch64/pbp.nix | 7 +++ systems/aarch64/pinephone.nix | 98 ++++++++++++++++++++++++++++++++ systems/aarch64/rpi4-example.nix | 56 ++++++++++++++++++ 3 files changed, 161 insertions(+) create mode 100644 systems/aarch64/pbp.nix create mode 100644 systems/aarch64/pinephone.nix create mode 100644 systems/aarch64/rpi4-example.nix diff --git a/systems/aarch64/pbp.nix b/systems/aarch64/pbp.nix new file mode 100644 index 0000000..d4f4b62 --- /dev/null +++ b/systems/aarch64/pbp.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... }: + +{ + # Name your host machine + networking.hostName = "jaal"; + +} diff --git a/systems/aarch64/pinephone.nix b/systems/aarch64/pinephone.nix new file mode 100644 index 0000000..7017125 --- /dev/null +++ b/systems/aarch64/pinephone.nix @@ -0,0 +1,98 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + (import { device = "pine64-pinephone"; }) + ./hardware-configuration.nix + + ]; + + networking.hostName = "peebee"; + time.timeZone = "America/Denver"; + + # + # Opinionated defaults + # + + # Use Network Manager + networking.wireless.enable = false; + networking.networkmanager.enable = true; + + # SSH + services.openssh = { + enable = true; + }; + + # Use PulseAudio + hardware.pulseaudio.enable = true; + + # Enable Bluetooth + hardware.bluetooth.enable = true; + + # Bluetooth audio + hardware.pulseaudio.package = pkgs.pulseaudioFull; + + # Enable power management options + powerManagement.enable = true; + + # It's recommended to keep enabled on these constrained devices + zramSwap.enable = true; + + # Auto-login for phosh + services.xserver.desktopManager.phosh = { + user = "aaronh"; + }; + + # + # User configuration + # + + users.users."aaronh" = { + isNormalUser = true; + description = "Aaron Honeycutt"; + hashedPassword = "$6$zOZeSMch129yV5i1$9E0sFdMo4qIBUZgPKgl5AXKlYNku12gv2owPy7FSpC2W4qMofTzoX2KFLmGxERdI8A7n0kyJElcUFQGIS940j1"; + extraGroups = [ + "dialout" + "feedbackd" + "networkmanager" + "video" + "wheel" + ]; + + # GUI + packages = with pkgs; [ + deja-dup + foliate + headlines + gnome.gnome-clocks + gnome.gnome-calculator + gnome-feeds + gnome-photos + gnome-podcasts + lollypop + marker + phosh-mobile-settings + portfolio-filemanager + spot + tootle + + # CLI + grim + + ]; +}; + + # Remove non-friendly GNOME packages + environment.gnome.excludePackages = (with pkgs; [ + gnome-photos + gnome-tour + ]); + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "23.05"; # Did you read the comment? +} diff --git a/systems/aarch64/rpi4-example.nix b/systems/aarch64/rpi4-example.nix new file mode 100644 index 0000000..1903f87 --- /dev/null +++ b/systems/aarch64/rpi4-example.nix @@ -0,0 +1,56 @@ +{ config, pkgs, lib, ... }: + +let + SSID = "Honeycutt-5G"; + SSIDpassword = "Frappe92"; + interface = "wlan0"; + hostname = "NixOS"; +in { + imports = ["${fetchTarball "https://github.com/NixOS/nixos-hardware/archive/936e4649098d6a5e0762058cb7687be1b2d90550.tar.gz" }/raspberry-pi/4"]; + + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + }; + + networking = { + hostName = "NixOS"; + networkmanager.enable = true; + + wireless = { + enable = true; + networks."${SSID}".psk = SSIDpassword; + interfaces = [ interface ]; + }; + }; + + # Set your time zone. + time.timeZone = "America/Denver"; + + environment.systemPackages = with pkgs; [ vim ]; + + services.openssh.enable = true; + + # Define user accounts + users.extraUsers.aaronh = { + description = "Aaron Honeycutt"; + home = "/home/aaronh"; + extraGroups = [ "wheel" "networkmanager" "adm"]; + isNormalUser = true; + hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; + }; + + # Enable GPU acceleration + hardware.raspberry-pi."4".fkms-3d.enable = true; + + services.xserver = { + enable = true; + displayManager.lightdm.enable = true; + desktopManager.xfce.enable = true; + }; + + hardware.pulseaudio.enable = true; +} From c6fc8301c3724d60e56a58fd521474c1350ba78d Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 16:19:12 -0600 Subject: [PATCH 37/92] Remove original files --- systems/pbp.nix | 7 --- systems/pinephone.nix | 98 ---------------------------------------- systems/rpi4-example.nix | 56 ----------------------- 3 files changed, 161 deletions(-) delete mode 100644 systems/pbp.nix delete mode 100644 systems/pinephone.nix delete mode 100644 systems/rpi4-example.nix diff --git a/systems/pbp.nix b/systems/pbp.nix deleted file mode 100644 index d4f4b62..0000000 --- a/systems/pbp.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, ... }: - -{ - # Name your host machine - networking.hostName = "jaal"; - -} diff --git a/systems/pinephone.nix b/systems/pinephone.nix deleted file mode 100644 index 7017125..0000000 --- a/systems/pinephone.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - imports = [ - (import { device = "pine64-pinephone"; }) - ./hardware-configuration.nix - - ]; - - networking.hostName = "peebee"; - time.timeZone = "America/Denver"; - - # - # Opinionated defaults - # - - # Use Network Manager - networking.wireless.enable = false; - networking.networkmanager.enable = true; - - # SSH - services.openssh = { - enable = true; - }; - - # Use PulseAudio - hardware.pulseaudio.enable = true; - - # Enable Bluetooth - hardware.bluetooth.enable = true; - - # Bluetooth audio - hardware.pulseaudio.package = pkgs.pulseaudioFull; - - # Enable power management options - powerManagement.enable = true; - - # It's recommended to keep enabled on these constrained devices - zramSwap.enable = true; - - # Auto-login for phosh - services.xserver.desktopManager.phosh = { - user = "aaronh"; - }; - - # - # User configuration - # - - users.users."aaronh" = { - isNormalUser = true; - description = "Aaron Honeycutt"; - hashedPassword = "$6$zOZeSMch129yV5i1$9E0sFdMo4qIBUZgPKgl5AXKlYNku12gv2owPy7FSpC2W4qMofTzoX2KFLmGxERdI8A7n0kyJElcUFQGIS940j1"; - extraGroups = [ - "dialout" - "feedbackd" - "networkmanager" - "video" - "wheel" - ]; - - # GUI - packages = with pkgs; [ - deja-dup - foliate - headlines - gnome.gnome-clocks - gnome.gnome-calculator - gnome-feeds - gnome-photos - gnome-podcasts - lollypop - marker - phosh-mobile-settings - portfolio-filemanager - spot - tootle - - # CLI - grim - - ]; -}; - - # Remove non-friendly GNOME packages - environment.gnome.excludePackages = (with pkgs; [ - gnome-photos - gnome-tour - ]); - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.05"; # Did you read the comment? -} diff --git a/systems/rpi4-example.nix b/systems/rpi4-example.nix deleted file mode 100644 index 1903f87..0000000 --- a/systems/rpi4-example.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ config, pkgs, lib, ... }: - -let - SSID = "Honeycutt-5G"; - SSIDpassword = "Frappe92"; - interface = "wlan0"; - hostname = "NixOS"; -in { - imports = ["${fetchTarball "https://github.com/NixOS/nixos-hardware/archive/936e4649098d6a5e0762058cb7687be1b2d90550.tar.gz" }/raspberry-pi/4"]; - - fileSystems = { - "/" = { - device = "/dev/disk/by-label/NIXOS_SD"; - fsType = "ext4"; - options = [ "noatime" ]; - }; - }; - - networking = { - hostName = "NixOS"; - networkmanager.enable = true; - - wireless = { - enable = true; - networks."${SSID}".psk = SSIDpassword; - interfaces = [ interface ]; - }; - }; - - # Set your time zone. - time.timeZone = "America/Denver"; - - environment.systemPackages = with pkgs; [ vim ]; - - services.openssh.enable = true; - - # Define user accounts - users.extraUsers.aaronh = { - description = "Aaron Honeycutt"; - home = "/home/aaronh"; - extraGroups = [ "wheel" "networkmanager" "adm"]; - isNormalUser = true; - hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; - }; - - # Enable GPU acceleration - hardware.raspberry-pi."4".fkms-3d.enable = true; - - services.xserver = { - enable = true; - displayManager.lightdm.enable = true; - desktopManager.xfce.enable = true; - }; - - hardware.pulseaudio.enable = true; -} From f5057dd0efe070f377577474386299a39f9cb9f7 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 16:19:55 -0600 Subject: [PATCH 38/92] Move pinebook-pro --- systems/pinebook-pro.nix | 128 --------------------------------------- 1 file changed, 128 deletions(-) delete mode 100644 systems/pinebook-pro.nix diff --git a/systems/pinebook-pro.nix b/systems/pinebook-pro.nix deleted file mode 100644 index aef143f..0000000 --- a/systems/pinebook-pro.nix +++ /dev/null @@ -1,128 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - imports = - [ -# - ./hardware-configuration.nix -# ./programs.nix - ]; - - boot.kernelPackages = pkgs.linuxPackages_latest; - - boot.loader = { - efi = { - canTouchEfiVariables = false; - }; - - grub = { - enable = true; - efiInstallAsRemovable = true; - efiSupport = true; - version = 2; - device = "nodev"; - }; - }; - - boot.initrd.kernelModules = [ - # Rockchip modules - "rockchip_rga" - "rockchip_saradc" - "rockchip_thermal" - "rockchipdrm" - - # GPU/Display modules - "analogix_dp" - "cec" - "drm" - "drm_kms_helper" - "dw_hdmi" - "dw_mipi_dsi" - "gpu_sched" - "panel_edp" - "panel_simple" - "panfrost" - "pwm_bl" - - # USB / Type-C related modules - "fusb302" - "tcpm" - "typec" - - # Misc. modules - "cw2015_battery" - "gpio_charger" - "rtc_rk808" - ]; - - nix.settings.auto-optimise-store = true; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - - networking = { - hostName = "jaal"; - networkmanager.enable = true; - }; - - # Set your time zone. - time.timeZone = "America/Denver"; - - environment.systemPackages = - with pkgs; - [ - firefox - git - git-lfs - neofetch - unzip - wget - ]; - - # Define user accounts - users.users.aaronh = { - description = "Aaron Honeycutt"; - home = "/home/aaronh"; - extraGroups = [ "wheel" "networkmanager" "adm"]; - isNormalUser = true; - hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; - - packages = with pkgs; [ - fish - ]; - - shell = pkgs.fish; - }; - - # Enable Pipewire - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - # Turn off PulseAudio - hardware.pulseaudio.enable = false; - - # Enable Bluetooth - hardware.bluetooth.enable = true; - - # Enable the OpenSSH daemon - services.openssh.enable = true; - - # Enable CUPS - services.printing.enable = true; - - # Allow Unfree - nixpkgs.config.allowUnfree = true; - - # System - system.stateVersion = "22.11"; - system.autoUpgrade.enable = true; - -} From 664ccf5302c198db750879a14cd0f8c0c359530a Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 16:21:16 -0600 Subject: [PATCH 39/92] Clean up pinephone --- systems/aarch64/{ => peebee}/pinephone.nix | 0 systems/aarch64/pinebook-pro.nix | 128 +++++++++++++++++++++ 2 files changed, 128 insertions(+) rename systems/aarch64/{ => peebee}/pinephone.nix (100%) create mode 100644 systems/aarch64/pinebook-pro.nix diff --git a/systems/aarch64/pinephone.nix b/systems/aarch64/peebee/pinephone.nix similarity index 100% rename from systems/aarch64/pinephone.nix rename to systems/aarch64/peebee/pinephone.nix diff --git a/systems/aarch64/pinebook-pro.nix b/systems/aarch64/pinebook-pro.nix new file mode 100644 index 0000000..aef143f --- /dev/null +++ b/systems/aarch64/pinebook-pro.nix @@ -0,0 +1,128 @@ +{ config, pkgs, lib, ... }: + +{ + imports = + [ +# + ./hardware-configuration.nix +# ./programs.nix + ]; + + boot.kernelPackages = pkgs.linuxPackages_latest; + + boot.loader = { + efi = { + canTouchEfiVariables = false; + }; + + grub = { + enable = true; + efiInstallAsRemovable = true; + efiSupport = true; + version = 2; + device = "nodev"; + }; + }; + + boot.initrd.kernelModules = [ + # Rockchip modules + "rockchip_rga" + "rockchip_saradc" + "rockchip_thermal" + "rockchipdrm" + + # GPU/Display modules + "analogix_dp" + "cec" + "drm" + "drm_kms_helper" + "dw_hdmi" + "dw_mipi_dsi" + "gpu_sched" + "panel_edp" + "panel_simple" + "panfrost" + "pwm_bl" + + # USB / Type-C related modules + "fusb302" + "tcpm" + "typec" + + # Misc. modules + "cw2015_battery" + "gpio_charger" + "rtc_rk808" + ]; + + nix.settings.auto-optimise-store = true; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + networking = { + hostName = "jaal"; + networkmanager.enable = true; + }; + + # Set your time zone. + time.timeZone = "America/Denver"; + + environment.systemPackages = + with pkgs; + [ + firefox + git + git-lfs + neofetch + unzip + wget + ]; + + # Define user accounts + users.users.aaronh = { + description = "Aaron Honeycutt"; + home = "/home/aaronh"; + extraGroups = [ "wheel" "networkmanager" "adm"]; + isNormalUser = true; + hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; + + packages = with pkgs; [ + fish + ]; + + shell = pkgs.fish; + }; + + # Enable Pipewire + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + # Turn off PulseAudio + hardware.pulseaudio.enable = false; + + # Enable Bluetooth + hardware.bluetooth.enable = true; + + # Enable the OpenSSH daemon + services.openssh.enable = true; + + # Enable CUPS + services.printing.enable = true; + + # Allow Unfree + nixpkgs.config.allowUnfree = true; + + # System + system.stateVersion = "22.11"; + system.autoUpgrade.enable = true; + +} From 68d9bf636a067720f1fbf0f46ed806bafd814c31 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 16:23:42 -0600 Subject: [PATCH 40/92] Clean up more aarch64 --- systems/aarch64/{ => jaal}/pbp.nix | 0 systems/aarch64/{ => jaal}/pinebook-pro.nix | 0 systems/aarch64/{ => vetra}/rpi4-example.nix | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename systems/aarch64/{ => jaal}/pbp.nix (100%) rename systems/aarch64/{ => jaal}/pinebook-pro.nix (100%) rename systems/aarch64/{ => vetra}/rpi4-example.nix (100%) diff --git a/systems/aarch64/pbp.nix b/systems/aarch64/jaal/pbp.nix similarity index 100% rename from systems/aarch64/pbp.nix rename to systems/aarch64/jaal/pbp.nix diff --git a/systems/aarch64/pinebook-pro.nix b/systems/aarch64/jaal/pinebook-pro.nix similarity index 100% rename from systems/aarch64/pinebook-pro.nix rename to systems/aarch64/jaal/pinebook-pro.nix diff --git a/systems/aarch64/rpi4-example.nix b/systems/aarch64/vetra/rpi4-example.nix similarity index 100% rename from systems/aarch64/rpi4-example.nix rename to systems/aarch64/vetra/rpi4-example.nix From 8d3c3f54643cb1f0f0e0a00cc499421fb85121c1 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 16:33:24 -0600 Subject: [PATCH 41/92] Clean up --- systems/{ => x86_64}/galp4.nix | 0 systems/{ => x86_64}/gaze16-3050.nix | 0 systems/{ => x86_64}/harbinger.nix | 0 systems/{ => x86_64}/hp-omen.nix | 0 systems/{ => x86_64}/linode.nix | 0 systems/{ => x86_64}/oryp6.nix | 0 systems/{ => x86_64}/sovereign.nix | 0 systems/{ => x86_64}/thelio-nvidia.nix | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename systems/{ => x86_64}/galp4.nix (100%) rename systems/{ => x86_64}/gaze16-3050.nix (100%) rename systems/{ => x86_64}/harbinger.nix (100%) rename systems/{ => x86_64}/hp-omen.nix (100%) rename systems/{ => x86_64}/linode.nix (100%) rename systems/{ => x86_64}/oryp6.nix (100%) rename systems/{ => x86_64}/sovereign.nix (100%) rename systems/{ => x86_64}/thelio-nvidia.nix (100%) diff --git a/systems/galp4.nix b/systems/x86_64/galp4.nix similarity index 100% rename from systems/galp4.nix rename to systems/x86_64/galp4.nix diff --git a/systems/gaze16-3050.nix b/systems/x86_64/gaze16-3050.nix similarity index 100% rename from systems/gaze16-3050.nix rename to systems/x86_64/gaze16-3050.nix diff --git a/systems/harbinger.nix b/systems/x86_64/harbinger.nix similarity index 100% rename from systems/harbinger.nix rename to systems/x86_64/harbinger.nix diff --git a/systems/hp-omen.nix b/systems/x86_64/hp-omen.nix similarity index 100% rename from systems/hp-omen.nix rename to systems/x86_64/hp-omen.nix diff --git a/systems/linode.nix b/systems/x86_64/linode.nix similarity index 100% rename from systems/linode.nix rename to systems/x86_64/linode.nix diff --git a/systems/oryp6.nix b/systems/x86_64/oryp6.nix similarity index 100% rename from systems/oryp6.nix rename to systems/x86_64/oryp6.nix diff --git a/systems/sovereign.nix b/systems/x86_64/sovereign.nix similarity index 100% rename from systems/sovereign.nix rename to systems/x86_64/sovereign.nix diff --git a/systems/thelio-nvidia.nix b/systems/x86_64/thelio-nvidia.nix similarity index 100% rename from systems/thelio-nvidia.nix rename to systems/x86_64/thelio-nvidia.nix From 19110a55227bff51d47e24c7a56926ef9833c8b1 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 12 May 2023 22:34:16 +0000 Subject: [PATCH 42/92] Update README.md --- README.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/README.md b/README.md index 878a6a6..571c9a3 100644 --- a/README.md +++ b/README.md @@ -29,19 +29,12 @@ sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.ta sudo nix-channel --update ``` -- `hp-omen.nix` : This file is mainly for my HP Omen to add and enable the NVIDIA driver from stable - `linode.nix` : This file is for a Linode instance though it might work for other server setups - `sovereign.nix` : This file is for the Linode instance that hosts https://stoners.space which is a Mastodon instance - `harbinger.nix` : This file is for the Linode instance that hosts the following sites: - https://ahoneybun.net/ - https://rockymountainlinuxfest.org/ - https://tildecafe.com/ -- `oryp6.nix` : This file is mainly for my work System76 Oryx Pro (oryp6) to add and enable the NVIDIA driver from stable -- `rpi4.nix` : This file is to configure a Raspberry Pi 4B (Vetra Nyx) -- `pinebook-pro.nix` : This file is to configure a PineBook Pro (Jaal Ama Darav) -- `pinephone.nix` : This file is to configure a PinePhone (PeeBee) -- `galp3-b.nix` : This file is for my personal System76 Galago Pro (galp3-b). -- `galp4.nix` : This file is for my work System76 Galago Pro (galp4). ## Shell Nix files: (nix-configs/shell/) From bf0be1c5405bf6d6b3e2d26d2c4b4d1c14255c3f Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 13:18:03 +0000 Subject: [PATCH 43/92] Add new directory --- systems/x86_64/harbinger/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 systems/x86_64/harbinger/.gitkeep diff --git a/systems/x86_64/harbinger/.gitkeep b/systems/x86_64/harbinger/.gitkeep new file mode 100644 index 0000000..e69de29 From b0b3615ba9718c641c749ce59f5b7675958dd44c Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 13:18:15 +0000 Subject: [PATCH 44/92] Upload New File --- systems/x86_64/harbinger/flake.nix | 64 ++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 systems/x86_64/harbinger/flake.nix diff --git a/systems/x86_64/harbinger/flake.nix b/systems/x86_64/harbinger/flake.nix new file mode 100644 index 0000000..1c9f7ab --- /dev/null +++ b/systems/x86_64/harbinger/flake.nix @@ -0,0 +1,64 @@ +{ + description = "ahoneybun's NixOS Flake"; + + # This is the standard format for flake.nix. `inputs` are the dependencies of the flake, + # and `outputs` function will return all the build results of the flake. + # Each item in `inputs` will be passed as a parameter to the `outputs` function after being pulled and built. + inputs = { + # There are many ways to reference flake inputs. The most widely used is github:owner/name/reference, + # which represents the GitHub repository URL + branch/commit-id/tag. + + # Official NixOS package source, using nixos-unstable branch here + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + # home-manager, used for managing user configuration + home-manager = { + url = "github:nix-community/home-manager/release-22.11"; + # The `follows` keyword in inputs is used for inheritance. + # Here, `inputs.nixpkgs` of home-manager is kept consistent with the `inputs.nixpkgs` of the current flake, + # to avoid problems caused by different versions of nixpkgs dependencies. + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + # `outputs` are all the build result of the flake. + # A flake can have many use cases and different types of outputs. + # parameters in `outputs` are defined in `inputs` and can be referenced by their names. + # However, `self` is an exception, This special parameter points to the `outputs` itself (self-reference) + # The `@` syntax here is used to alias the attribute set of the inputs's parameter, making it convenient to use inside the function. + outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: { + # Outputs named `nixosConfigurations` is used by execute `nixos-rebuild switch --flake /path/to/flakes/directory` on NixOS System. + nixosConfigurations = { + # By default, NixOS will try to refer the nixosConfiguration with its hostname. + # so the system named `nixos-test` will use this configuration. + # However, the configuration name can also be specified using `nixos-rebuild switch --flake /path/to/flakes/directory#`. + # The `nixpkgs.lib.nixosSystem` function is used to build this configuration, the following attribute set is its parameter. + # Run `nixos-rebuild switch --flake .#nixos-test` in the flake's directory to deploy this configuration on any NixOS system + "harbinger" = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + + # The Nix module system can modularize configurations, improving the maintainability of configurations. + # + # Each parameter in the `modules` is a Nix Module, and there is a partial introduction to it in the nixpkgs manual: + # + # It is said to be partial because the documentation is not complete, only some simple introductions + # (such is the current state of Nix documentation...) + # A Nix Module can be an attribute set, or a function that returns an attribute set. + # If a Module is a function, according to the Nix Wiki description, this function can have up to four parameters: + # + # config: The configuration of the entire system + # options: All option declarations refined with all definition and declaration references. + # pkgs: The attribute set extracted from the Nix package collection and enhanced with the nixpkgs.config option. + # modulesPath: The location of the module directory of Nix. + # + # Only these four parameters can be passed by default. + # If you need to pass other parameters, you must use `specialArgs` by uncomment the following line + # specialArgs = {...} # pass custom arguments into sub module. + modules = [ + # Import the configuration.nix we used before, so that the old configuration file can still take effect. + # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here + ./configuration.nix + ]; + }; + }; + }; +} From 3618c68149e3e8fca2df67f42a94d38726b1c740 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 13:18:49 +0000 Subject: [PATCH 45/92] Upload New File --- systems/x86_64/harbinger/configuration.nix | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 systems/x86_64/harbinger/configuration.nix diff --git a/systems/x86_64/harbinger/configuration.nix b/systems/x86_64/harbinger/configuration.nix new file mode 100644 index 0000000..77ca385 --- /dev/null +++ b/systems/x86_64/harbinger/configuration.nix @@ -0,0 +1,123 @@ +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix +# ./unstable.nix + ./ahoneybun-net.nix + ./mc-ahoneybun-net.nix +# ./nextcloud.nix + ./tildecafe-com.nix + ./rockymtnlug-org.nix +# ./chat-rockymtnlug-org.nix + ]; + + boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelParams = [ "console=ttyS0,19200n8" ]; + + nix.settings.auto-optimise-store = true; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + # Use the GRUB 2 boot loader. + boot.loader.grub.enable = true; + boot.loader.grub.extraConfig = '' + serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; + terminal_input serial; + terminal_output serial + ''; + boot.loader.grub.device = "nodev"; # or "nodev" for efi only + boot.loader.timeout = 10; + + networking.firewall = { + enable = true; + allowedTCPPorts = [ 80 443 ]; + }; + + networking.extraHosts = + '' + 23.32.241.51 r3.o.lencr.org + ''; + + security.acme.acceptTerms = true; + security.acme.defaults.email = "aaronhoneycutt@proton.me"; + + networking.hostName = "harbinger"; + # Pick only one of the below networking options. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + # Set your time zone. + # time.timeZone = "Europe/Amsterdam"; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + # hardware.pulseaudio.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.aaronh = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + cargo + git + git-lfs + ]; + }; + + environment.systemPackages = with pkgs; [ + acme-sh + git + git-lfs + mtr + neofetch + sysstat + tree + wget + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + services.openssh.settings = { + enable = true; + permitRootLogin = "no"; + }; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + networking.usePredictableInterfaceNames = false; + networking.useDHCP = false; + networking.interfaces.eth0.useDHCP = true; + + system.stateVersion = "22.11"; # Did you read the comment? + system.autoUpgrade.enable = true; +} + From f1012876c5a4ac9169807741c417743a985630dc Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 13:21:22 +0000 Subject: [PATCH 46/92] Add new directory --- systems/x86_64/sovereign/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 systems/x86_64/sovereign/.gitkeep diff --git a/systems/x86_64/sovereign/.gitkeep b/systems/x86_64/sovereign/.gitkeep new file mode 100644 index 0000000..e69de29 From 6e60dd0bb8a4ae19f4a60d376088bd87bd701026 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 13:25:29 +0000 Subject: [PATCH 47/92] Upload New File --- systems/x86_64/sovereign/configuration.nix | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 systems/x86_64/sovereign/configuration.nix diff --git a/systems/x86_64/sovereign/configuration.nix b/systems/x86_64/sovereign/configuration.nix new file mode 100644 index 0000000..1058abe --- /dev/null +++ b/systems/x86_64/sovereign/configuration.nix @@ -0,0 +1,123 @@ +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix +# ./unstable.nix + ./stoners-space.nix + ]; + + boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelParams = [ "console=ttyS0,19200n8" ]; + + boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + + nix.settings.extra-platforms = [ "aarch64-linux" ]; + nix.settings.auto-optimise-store = true; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + nix.buildMachines = [{ + hostName = "localhost"; + systems = ["x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin"]; + supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"]; + maxJobs = 8; + }]; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + # Use the GRUB 2 boot loader. + boot.loader.grub.enable = true; + boot.loader.grub.extraConfig = '' + serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; + terminal_input serial; + terminal_output serial + ''; + boot.loader.grub.device = "nodev"; # or "nodev" for efi only + boot.loader.timeout = 10; + + networking.firewall = { + enable = true; + allowedTCPPorts = [ 80 443 ]; + }; + + networking.extraHosts = + '' + 23.32.241.51 r3.o.lencr.org + ''; + + # fileSystems."/mnt/swapfile" = + # { device = "/dev/disk/by-uuid/82672991-fe8a-485a-8dcf-7c8ae1282b6c"; + # fsType = "ext4"; + # }; + + # services.hydra = { + # enable = true; + # hydraURL = "localhost:3000"; + # notificationSender = "hydra@localhost"; + # useSubstitutes = true; + # }; + + security.acme.acceptTerms = true; + security.acme.defaults.email = "aaronhoneycutt@proton.me"; + + networking.hostName = "sovereign"; + + # Set your time zone. + # time.timeZone = "Europe/Amsterdam"; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.aaronh = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + cargo + git + git-lfs + ]; + }; + + users.users.builder = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + packages = with pkgs; [ + neofetch + ]; + }; + + environment.systemPackages = with pkgs; [ + acme-sh + git + inetutils + mtr + neofetch + sysstat + tree + wget + ]; + + # Enable the OpenSSH daemon. + services.openssh.settings = { + enable = true; + permitRootLogin = "no"; + }; + + networking.usePredictableInterfaceNames = false; + networking.useDHCP = false; + networking.interfaces.eth0.useDHCP = true; + + system.stateVersion = "22.11"; # Did you read the comment? + system.autoUpgrade.enable = true; +} + From 486d2d32b0eb55648073edf8ed0bde5bf95989ce Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 13:25:42 +0000 Subject: [PATCH 48/92] Upload New File --- systems/x86_64/sovereign/flake.nix | 64 ++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 systems/x86_64/sovereign/flake.nix diff --git a/systems/x86_64/sovereign/flake.nix b/systems/x86_64/sovereign/flake.nix new file mode 100644 index 0000000..63e03a0 --- /dev/null +++ b/systems/x86_64/sovereign/flake.nix @@ -0,0 +1,64 @@ +{ + description = "ahoneybun's NixOS Flake"; + + # This is the standard format for flake.nix. `inputs` are the dependencies of the flake, + # and `outputs` function will return all the build results of the flake. + # Each item in `inputs` will be passed as a parameter to the `outputs` function after being pulled and built. + inputs = { + # There are many ways to reference flake inputs. The most widely used is github:owner/name/reference, + # which represents the GitHub repository URL + branch/commit-id/tag. + + # Official NixOS package source, using nixos-unstable branch here + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + # home-manager, used for managing user configuration + home-manager = { + url = "github:nix-community/home-manager/release-22.11"; + # The `follows` keyword in inputs is used for inheritance. + # Here, `inputs.nixpkgs` of home-manager is kept consistent with the `inputs.nixpkgs` of the current flake, + # to avoid problems caused by different versions of nixpkgs dependencies. + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + # `outputs` are all the build result of the flake. + # A flake can have many use cases and different types of outputs. + # parameters in `outputs` are defined in `inputs` and can be referenced by their names. + # However, `self` is an exception, This special parameter points to the `outputs` itself (self-reference) + # The `@` syntax here is used to alias the attribute set of the inputs's parameter, making it convenient to use inside the function. + outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: { + # Outputs named `nixosConfigurations` is used by execute `nixos-rebuild switch --flake /path/to/flakes/directory` on NixOS System. + nixosConfigurations = { + # By default, NixOS will try to refer the nixosConfiguration with its hostname. + # so the system named `nixos-test` will use this configuration. + # However, the configuration name can also be specified using `nixos-rebuild switch --flake /path/to/flakes/directory#`. + # The `nixpkgs.lib.nixosSystem` function is used to build this configuration, the following attribute set is its parameter. + # Run `nixos-rebuild switch --flake .#nixos-test` in the flake's directory to deploy this configuration on any NixOS system + "sovereign" = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + + # The Nix module system can modularize configurations, improving the maintainability of configurations. + # + # Each parameter in the `modules` is a Nix Module, and there is a partial introduction to it in the nixpkgs manual: + # + # It is said to be partial because the documentation is not complete, only some simple introductions + # (such is the current state of Nix documentation...) + # A Nix Module can be an attribute set, or a function that returns an attribute set. + # If a Module is a function, according to the Nix Wiki description, this function can have up to four parameters: + # + # config: The configuration of the entire system + # options: All option declarations refined with all definition and declaration references. + # pkgs: The attribute set extracted from the Nix package collection and enhanced with the nixpkgs.config option. + # modulesPath: The location of the module directory of Nix. + # + # Only these four parameters can be passed by default. + # If you need to pass other parameters, you must use `specialArgs` by uncomment the following line + # specialArgs = {...} # pass custom arguments into sub module. + modules = [ + # Import the configuration.nix we used before, so that the old configuration file can still take effect. + # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here + ./configuration.nix + ]; + }; + }; + }; +} From 27fe7a9e4ea260bb3c77608b587d48539292a0cc Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 14:32:19 +0000 Subject: [PATCH 49/92] Update flake.nix --- systems/x86_64/harbinger/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/x86_64/harbinger/flake.nix b/systems/x86_64/harbinger/flake.nix index 1c9f7ab..a679b12 100644 --- a/systems/x86_64/harbinger/flake.nix +++ b/systems/x86_64/harbinger/flake.nix @@ -9,7 +9,7 @@ # which represents the GitHub repository URL + branch/commit-id/tag. # Official NixOS package source, using nixos-unstable branch here - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; # home-manager, used for managing user configuration home-manager = { url = "github:nix-community/home-manager/release-22.11"; From a7a96a6290349819e5ea2f32ecaa42729d7eb976 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 14:32:32 +0000 Subject: [PATCH 50/92] Update flake.nix --- systems/x86_64/sovereign/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/x86_64/sovereign/flake.nix b/systems/x86_64/sovereign/flake.nix index 63e03a0..c7b1eb3 100644 --- a/systems/x86_64/sovereign/flake.nix +++ b/systems/x86_64/sovereign/flake.nix @@ -9,7 +9,7 @@ # which represents the GitHub repository URL + branch/commit-id/tag. # Official NixOS package source, using nixos-unstable branch here - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; # home-manager, used for managing user configuration home-manager = { url = "github:nix-community/home-manager/release-22.11"; From 5762c0559c33d3b84057f0d287b877bfdded4cf5 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 14:32:49 +0000 Subject: [PATCH 51/92] Update configuration.nix --- systems/x86_64/harbinger/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/x86_64/harbinger/configuration.nix b/systems/x86_64/harbinger/configuration.nix index 77ca385..04a6f1d 100644 --- a/systems/x86_64/harbinger/configuration.nix +++ b/systems/x86_64/harbinger/configuration.nix @@ -103,7 +103,7 @@ # List services that you want to enable: # Enable the OpenSSH daemon. - services.openssh.settings = { + services.openssh = { enable = true; permitRootLogin = "no"; }; From 4a4726a8be6afcdc1f159e7d8a92ec260dde8000 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 14:32:59 +0000 Subject: [PATCH 52/92] Update configuration.nix --- systems/x86_64/sovereign/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/x86_64/sovereign/configuration.nix b/systems/x86_64/sovereign/configuration.nix index 1058abe..02e5160 100644 --- a/systems/x86_64/sovereign/configuration.nix +++ b/systems/x86_64/sovereign/configuration.nix @@ -108,7 +108,7 @@ ]; # Enable the OpenSSH daemon. - services.openssh.settings = { + services.openssh = { enable = true; permitRootLogin = "no"; }; From d9bd208083437104b9ef82d0e9890bc07047ed06 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 19:43:41 +0000 Subject: [PATCH 53/92] Replace flake.nix --- systems/x86_64/harbinger/flake.nix | 126 +++++++++++++++++++---------- 1 file changed, 83 insertions(+), 43 deletions(-) diff --git a/systems/x86_64/harbinger/flake.nix b/systems/x86_64/harbinger/flake.nix index a679b12..0e44525 100644 --- a/systems/x86_64/harbinger/flake.nix +++ b/systems/x86_64/harbinger/flake.nix @@ -1,62 +1,102 @@ { - description = "ahoneybun's NixOS Flake"; + description = "Harbinger"; - # This is the standard format for flake.nix. `inputs` are the dependencies of the flake, - # and `outputs` function will return all the build results of the flake. - # Each item in `inputs` will be passed as a parameter to the `outputs` function after being pulled and built. inputs = { - # There are many ways to reference flake inputs. The most widely used is github:owner/name/reference, - # which represents the GitHub repository URL + branch/commit-id/tag. - - # Official NixOS package source, using nixos-unstable branch here nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - # home-manager, used for managing user configuration home-manager = { url = "github:nix-community/home-manager/release-22.11"; - # The `follows` keyword in inputs is used for inheritance. - # Here, `inputs.nixpkgs` of home-manager is kept consistent with the `inputs.nixpkgs` of the current flake, - # to avoid problems caused by different versions of nixpkgs dependencies. inputs.nixpkgs.follows = "nixpkgs"; }; }; - # `outputs` are all the build result of the flake. - # A flake can have many use cases and different types of outputs. - # parameters in `outputs` are defined in `inputs` and can be referenced by their names. - # However, `self` is an exception, This special parameter points to the `outputs` itself (self-reference) - # The `@` syntax here is used to alias the attribute set of the inputs's parameter, making it convenient to use inside the function. - outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: { - # Outputs named `nixosConfigurations` is used by execute `nixos-rebuild switch --flake /path/to/flakes/directory` on NixOS System. + outputs = { self, nixpkgs, ... }@inputs: { nixosConfigurations = { - # By default, NixOS will try to refer the nixosConfiguration with its hostname. - # so the system named `nixos-test` will use this configuration. - # However, the configuration name can also be specified using `nixos-rebuild switch --flake /path/to/flakes/directory#`. - # The `nixpkgs.lib.nixosSystem` function is used to build this configuration, the following attribute set is its parameter. - # Run `nixos-rebuild switch --flake .#nixos-test` in the flake's directory to deploy this configuration on any NixOS system "harbinger" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - - # The Nix module system can modularize configurations, improving the maintainability of configurations. - # - # Each parameter in the `modules` is a Nix Module, and there is a partial introduction to it in the nixpkgs manual: - # - # It is said to be partial because the documentation is not complete, only some simple introductions - # (such is the current state of Nix documentation...) - # A Nix Module can be an attribute set, or a function that returns an attribute set. - # If a Module is a function, according to the Nix Wiki description, this function can have up to four parameters: - # - # config: The configuration of the entire system - # options: All option declarations refined with all definition and declaration references. - # pkgs: The attribute set extracted from the Nix package collection and enhanced with the nixpkgs.config option. - # modulesPath: The location of the module directory of Nix. - # - # Only these four parameters can be passed by default. - # If you need to pass other parameters, you must use `specialArgs` by uncomment the following line - # specialArgs = {...} # pass custom arguments into sub module. modules = [ # Import the configuration.nix we used before, so that the old configuration file can still take effect. # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here - ./configuration.nix +# ./configuration.nix + ./hardware-configuration.nix + ./ahoneybun-net.nix + ./tildecafe-com.nix + ./rockymtnlug-org.nix + + ({config, pkgs, ...}: { + nix = { + settings.auto-optimise-store = true; + settings.experimental-features = [ "nix-command" "flakes" ]; + + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + }; + + boot = { + kernelPackages = pkgs.linuxPackages_latest; + kernelParams = [ "console=ttyS0,1920n8" ]; + + loader.grub.enable = true; + loader.grub.extraConfig = '' + serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; + terminal_input serial; + terminal_output serial + ''; + loader.grub.device = "nodev"; # or "nodev" for efi only + loader.timeout = 10; + }; + + networking = { + hostName = "harbinger"; + + firewall = { + enable = true; + allowedTCPPorts = [ 80 443 ]; + }; + + usePredictableInterfaceNames = false; + useDHCP = false; + interfaces.eth0.useDHCP = true; + + }; + + users.users.aaronh = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + cargo + git + git-lfs + ]; + }; + + environment.systemPackages = with pkgs; [ + acme-sh + git + git-lfs + mtr + neofetch + sysstat + tree + wget + ]; + + security.acme.acceptTerms = true; + security.acme.defaults.email = "aaronhoneycutt@proton.me"; + + services.openssh = { # 22.11 + # services.openssh.settings = { + enable = true; + permitRootLogin = "no"; + }; + + system = { + stateVersion = "22.11"; + autoUpgrade.enable = true; + }; + }) ]; }; }; From 4d5fd9135efbdfef7a47008cf7eedd9d50e3bb45 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 15 May 2023 22:09:35 +0000 Subject: [PATCH 54/92] Replace flake.nix --- systems/aarch64/vetra/flake.nix | 137 +++++++++++++++++++++----------- 1 file changed, 91 insertions(+), 46 deletions(-) diff --git a/systems/aarch64/vetra/flake.nix b/systems/aarch64/vetra/flake.nix index a5ea9f1..10a2338 100644 --- a/systems/aarch64/vetra/flake.nix +++ b/systems/aarch64/vetra/flake.nix @@ -1,66 +1,111 @@ { - description = "ahoneybun's NixOS Flake"; + description = "Vetra"; - # This is the standard format for flake.nix. `inputs` are the dependencies of the flake, - # and `outputs` function will return all the build results of the flake. - # Each item in `inputs` will be passed as a parameter to the `outputs` function after being pulled and built. inputs = { - # There are many ways to reference flake inputs. The most widely used is github:owner/name/reference, - # which represents the GitHub repository URL + branch/commit-id/tag. - - # Official NixOS package source, using nixos-unstable branch here nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - # home-manager, used for managing user configuration home-manager = { url = "github:nix-community/home-manager/release-22.11"; - # The `follows` keyword in inputs is used for inheritance. - # Here, `inputs.nixpkgs` of home-manager is kept consistent with the `inputs.nixpkgs` of the current flake, - # to avoid problems caused by different versions of nixpkgs dependencies. inputs.nixpkgs.follows = "nixpkgs"; }; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; }; - # `outputs` are all the build result of the flake. - # A flake can have many use cases and different types of outputs. - # parameters in `outputs` are defined in `inputs` and can be referenced by their names. - # However, `self` is an exception, This special parameter points to the `outputs` itself (self-reference) - # The `@` syntax here is used to alias the attribute set of the inputs's parameter, making it convenient to use inside the function. outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: { - # Outputs named `nixosConfigurations` is used by execute `nixos-rebuild switch --flake /path/to/flakes/directory` on NixOS System. nixosConfigurations = { - # By default, NixOS will try to refer the nixosConfiguration with its hostname. - # so the system named `nixos-test` will use this configuration. - # However, the configuration name can also be specified using `nixos-rebuild switch --flake /path/to/flakes/directory#`. - # The `nixpkgs.lib.nixosSystem` function is used to build this configuration, the following attribute set is its parameter. - # Run `nixos-rebuild switch --flake .#nixos-test` in the flake's directory to deploy this configuration on any NixOS system "vetra" = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; - - # The Nix module system can modularize configurations, improving the maintainability of configurations. - # - # Each parameter in the `modules` is a Nix Module, and there is a partial introduction to it in the nixpkgs manual: - # - # It is said to be partial because the documentation is not complete, only some simple introductions - # (such is the current state of Nix documentation...) - # A Nix Module can be an attribute set, or a function that returns an attribute set. - # If a Module is a function, according to the Nix Wiki description, this function can have up to four parameters: - # - # config: The configuration of the entire system - # options: All option declarations refined with all definition and declaration references. - # pkgs: The attribute set extracted from the Nix package collection and enhanced with the nixpkgs.config option. - # modulesPath: The location of the module directory of Nix. - # - # Only these four parameters can be passed by default. - # If you need to pass other parameters, you must use `specialArgs` by uncomment the following line - # specialArgs = {...} # pass custom arguments into sub module. modules = [ # Import the configuration.nix we used before, so that the old configuration file can still take effect. # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here nixos-hardware.nixosModules.raspberry-pi-4 - ./configuration.nix - ]; - }; - }; - }; +# ./configuration.nix + + ({config, pkgs, ...}: { + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + + "/mnt/ExtraDrive" = { + device = "/dev/disk/by-uuid/72315f9e-ceda-4152-8e8d-09590affba28"; + fsType = "ext4"; + }; + }; + + nix = { + settings.auto-optimise-store = true; + settings.experimental-features = [ "nix-command" "flakes" ]; + + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + }; + + networking = { + hostName = "vetra"; + networkmanager.enable = true; + }; + + time.timeZone = "America/Denver"; + + environment.systemPackages = with pkgs; [ + fish + git + neofetch + restic + wget + ]; + + users.users.aaronh = { + description = "Aaron Honeycutt"; + home = "/home/aaronh"; + extraGroups = [ "wheel" "networkmanager" "adm" ]; + isNormalUser = true; + shell = pkgs.fish; + hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; + }; + + programs.fish.enable = true; + + # Enable Pipewire + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + # Turn off PulseAudio + hardware.pulseaudio.enable = false; + + # Enable Bluetooth + hardware.bluetooth.enable = true; + + # Enable SSH + services.openssh.enable = true; + + # Enable CUPS + services.printing.enable = true; + + # Enable GPU Acceleration + hardware.raspberry-pi."4".fkms-3d.enable = true; + + # Allow Unfree + nixpkgs.config.allowUnfree = true; + + # System + system = { + stateVersion = "22.11"; + autoUpgrade.enable = true; + }; + }) + ]; + }; + }; + }; } From 6537b4b7bd88cc90284acc04e9946daf2496aeae Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 16 May 2023 14:39:11 +0000 Subject: [PATCH 55/92] Replace flake.nix --- systems/x86_64/sovereign/flake.nix | 138 ++++++++++++++++++++--------- 1 file changed, 95 insertions(+), 43 deletions(-) diff --git a/systems/x86_64/sovereign/flake.nix b/systems/x86_64/sovereign/flake.nix index c7b1eb3..e349cf4 100644 --- a/systems/x86_64/sovereign/flake.nix +++ b/systems/x86_64/sovereign/flake.nix @@ -1,62 +1,114 @@ { - description = "ahoneybun's NixOS Flake"; + description = "Sovereign"; - # This is the standard format for flake.nix. `inputs` are the dependencies of the flake, - # and `outputs` function will return all the build results of the flake. - # Each item in `inputs` will be passed as a parameter to the `outputs` function after being pulled and built. inputs = { - # There are many ways to reference flake inputs. The most widely used is github:owner/name/reference, - # which represents the GitHub repository URL + branch/commit-id/tag. - - # Official NixOS package source, using nixos-unstable branch here nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - # home-manager, used for managing user configuration home-manager = { url = "github:nix-community/home-manager/release-22.11"; - # The `follows` keyword in inputs is used for inheritance. - # Here, `inputs.nixpkgs` of home-manager is kept consistent with the `inputs.nixpkgs` of the current flake, - # to avoid problems caused by different versions of nixpkgs dependencies. inputs.nixpkgs.follows = "nixpkgs"; }; }; - # `outputs` are all the build result of the flake. - # A flake can have many use cases and different types of outputs. - # parameters in `outputs` are defined in `inputs` and can be referenced by their names. - # However, `self` is an exception, This special parameter points to the `outputs` itself (self-reference) - # The `@` syntax here is used to alias the attribute set of the inputs's parameter, making it convenient to use inside the function. - outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: { - # Outputs named `nixosConfigurations` is used by execute `nixos-rebuild switch --flake /path/to/flakes/directory` on NixOS System. + outputs = { self, nixpkgs, ... }@inputs: { nixosConfigurations = { - # By default, NixOS will try to refer the nixosConfiguration with its hostname. - # so the system named `nixos-test` will use this configuration. - # However, the configuration name can also be specified using `nixos-rebuild switch --flake /path/to/flakes/directory#`. - # The `nixpkgs.lib.nixosSystem` function is used to build this configuration, the following attribute set is its parameter. - # Run `nixos-rebuild switch --flake .#nixos-test` in the flake's directory to deploy this configuration on any NixOS system "sovereign" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - - # The Nix module system can modularize configurations, improving the maintainability of configurations. - # - # Each parameter in the `modules` is a Nix Module, and there is a partial introduction to it in the nixpkgs manual: - # - # It is said to be partial because the documentation is not complete, only some simple introductions - # (such is the current state of Nix documentation...) - # A Nix Module can be an attribute set, or a function that returns an attribute set. - # If a Module is a function, according to the Nix Wiki description, this function can have up to four parameters: - # - # config: The configuration of the entire system - # options: All option declarations refined with all definition and declaration references. - # pkgs: The attribute set extracted from the Nix package collection and enhanced with the nixpkgs.config option. - # modulesPath: The location of the module directory of Nix. - # - # Only these four parameters can be passed by default. - # If you need to pass other parameters, you must use `specialArgs` by uncomment the following line - # specialArgs = {...} # pass custom arguments into sub module. modules = [ # Import the configuration.nix we used before, so that the old configuration file can still take effect. # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here - ./configuration.nix +# ./configuration.nix + ./hardware-configuration.nix + ./stoners-space.nix + + ({config, pkgs, ...}: { + nix = { + settings.auto-optimise-store = true; + settings.experimental-features = [ "nix-command" "flakes" ]; + settings.extra-platforms = [ "aarch64-linux" ]; + + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + buildMachines = [{ + hostName = "localhost"; + systems = [ "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" ]; + supportedFeatures = [ "kvm" "nixos-test" "big-parallel" "benchmark" ]; + maxJobs = 8; + }]; + + }; + + boot = { + kernelPackages = pkgs.linuxPackages_latest; + kernelParams = [ "console=ttyS0,1920n8" ]; + + binfmt.emulatedSystems = [ "aarch64-linux" ]; + + loader.grub.enable = true; + loader.grub.extraConfig = '' + serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; + terminal_input serial; + terminal_output serial + ''; + loader.grub.device = "nodev"; # or "nodev" for efi only + loader.timeout = 10; + }; + + networking = { + hostName = "sovereign"; + + firewall = { + enable = true; + allowedTCPPorts = [ 80 443 ]; + }; + + usePredictableInterfaceNames = false; + useDHCP = false; + interfaces.eth0.useDHCP = true; + + }; + + users.users.aaronh = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + cargo + git + git-lfs + ]; + }; + + environment.systemPackages = with pkgs; [ + acme-sh + git + git-lfs + mtr + neofetch + sysstat + tree + wget + ]; + + security.acme.acceptTerms = true; + security.acme.defaults.email = "aaronhoneycutt@proton.me"; + + services.openssh = { # 22.11 + # services.openssh.settings = { + enable = true; + permitRootLogin = "no"; + }; + + system = { + stateVersion = "22.11"; + autoUpgrade.enable = true; + }; + }) ]; }; }; From bf10990db89036252368de1e9b8a3351c3c74548 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 6 Jun 2023 13:35:40 +0000 Subject: [PATCH 56/92] Update to 23.05 --- systems/x86_64/sovereign/flake.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/systems/x86_64/sovereign/flake.nix b/systems/x86_64/sovereign/flake.nix index e349cf4..d9db30b 100644 --- a/systems/x86_64/sovereign/flake.nix +++ b/systems/x86_64/sovereign/flake.nix @@ -2,7 +2,7 @@ description = "Sovereign"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; @@ -98,14 +98,13 @@ security.acme.acceptTerms = true; security.acme.defaults.email = "aaronhoneycutt@proton.me"; - services.openssh = { # 22.11 - # services.openssh.settings = { + services.openssh = { enable = true; - permitRootLogin = "no"; + settings.PermitRootLogin = "no"; }; system = { - stateVersion = "22.11"; + stateVersion = "23.05"; autoUpgrade.enable = true; }; }) From 28ad173e34a8bcdf41496d2b84a3e74c4f227a4b Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 6 Jun 2023 13:36:03 +0000 Subject: [PATCH 57/92] Update to 23.05 --- systems/x86_64/harbinger/flake.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/systems/x86_64/harbinger/flake.nix b/systems/x86_64/harbinger/flake.nix index 0e44525..ee827e3 100644 --- a/systems/x86_64/harbinger/flake.nix +++ b/systems/x86_64/harbinger/flake.nix @@ -2,7 +2,7 @@ description = "Harbinger"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; @@ -86,14 +86,13 @@ security.acme.acceptTerms = true; security.acme.defaults.email = "aaronhoneycutt@proton.me"; - services.openssh = { # 22.11 - # services.openssh.settings = { + services.openssh = { enable = true; - permitRootLogin = "no"; + settings.PermitRootLogin = "no"; }; system = { - stateVersion = "22.11"; + stateVersion = "23.05"; autoUpgrade.enable = true; }; }) From 8919831f7da95739c3db50d79021c460d8877427 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 6 Jun 2023 16:54:02 +0000 Subject: [PATCH 58/92] Update configuartion.nix --- systems/x86_64/garrus/{configuartion.nix => configuration.nix} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename systems/x86_64/garrus/{configuartion.nix => configuration.nix} (100%) diff --git a/systems/x86_64/garrus/configuartion.nix b/systems/x86_64/garrus/configuration.nix similarity index 100% rename from systems/x86_64/garrus/configuartion.nix rename to systems/x86_64/garrus/configuration.nix From b397fd0cca62c3144a6df996e8620234590b63cd Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Wed, 7 Jun 2023 20:35:27 +0000 Subject: [PATCH 59/92] Not working right now. --- web/mc-ahoneybun-net.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 web/mc-ahoneybun-net.nix diff --git a/web/mc-ahoneybun-net.nix b/web/mc-ahoneybun-net.nix new file mode 100644 index 0000000..1761e68 --- /dev/null +++ b/web/mc-ahoneybun-net.nix @@ -0,0 +1,29 @@ +{ config, pkgs, ... }: + +{ + services.minecraft-server = { + enable = true; + eula = true; + openFirewall = true; + declarative = true; + + # see here for more info: https://minecraft.gamepedia.com/Server.properties#server.properties + serverProperties = { + server-port = 25565; + gamemode = "survival"; + motd = "NixOS Minecraft server"; + max-players = 5; + enable-rcon = true; + enable-query = true; + # This password can be used to administer your minecraft server. + # Exact details as to how will be explained later. If you want + # you can replace this with another password. +# rcon.password = "hunter2"; +# query.port = 25565; + level-seed = "10292992"; + }; + }; + + # enable closed source packages such as the minecraft server + nixpkgs.config.allowUnfree = true; +} From a41ed7a5b7a4842bd4b386b770248368888222cc Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 9 Jun 2023 19:01:35 +0000 Subject: [PATCH 60/92] Update flake.nix --- systems/x86_64/harbinger/flake.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/systems/x86_64/harbinger/flake.nix b/systems/x86_64/harbinger/flake.nix index ee827e3..66610b3 100644 --- a/systems/x86_64/harbinger/flake.nix +++ b/systems/x86_64/harbinger/flake.nix @@ -3,10 +3,6 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; - home-manager = { - url = "github:nix-community/home-manager/release-22.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = { self, nixpkgs, ... }@inputs: { From 723d2b896c8e91b600e438d220c97152620c25c4 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 9 Jun 2023 19:01:54 +0000 Subject: [PATCH 61/92] Update flake.nix --- systems/x86_64/sovereign/flake.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/systems/x86_64/sovereign/flake.nix b/systems/x86_64/sovereign/flake.nix index d9db30b..fb6e605 100644 --- a/systems/x86_64/sovereign/flake.nix +++ b/systems/x86_64/sovereign/flake.nix @@ -3,10 +3,6 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; - home-manager = { - url = "github:nix-community/home-manager/release-22.11"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = { self, nixpkgs, ... }@inputs: { From 4f0ab6050a5166a1ee5d2009542071c329b4c374 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 19 Jun 2023 16:42:04 +0000 Subject: [PATCH 62/92] Update ahoneybun-net.nix --- web/ahoneybun-net.nix | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/web/ahoneybun-net.nix b/web/ahoneybun-net.nix index 7de9655..3df668a 100644 --- a/web/ahoneybun-net.nix +++ b/web/ahoneybun-net.nix @@ -1,20 +1,17 @@ { config, pkgs, ... }: { - security.acme.acceptTerms = true; - security.acme.defaults.email = "aaronhoneycutt@proton.me"; - - services.nginx = { - enable = true; - virtualHosts = { + services.nginx = { + enable = true; + virtualHosts = { "ahoneybun.net" = { forceSSL = true; enableACME = true; - locations."/" = { - root = "/var/www"; - }; - }; - }; -}; + locations."/" = { + root = "/var/www/ahoneybun-net/_site"; + }; + }; + }; + }; } From 2c9cc3d9a600f30eb8ddf787b313047a2f7ba2dc Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 27 Jun 2023 20:09:50 +0000 Subject: [PATCH 63/92] Forked from https://github.com/wash2/nix-dotfiles/blob/main/flake.nix --- systems/COSMIC-flake.nix | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 systems/COSMIC-flake.nix diff --git a/systems/COSMIC-flake.nix b/systems/COSMIC-flake.nix new file mode 100644 index 0000000..d2e3c33 --- /dev/null +++ b/systems/COSMIC-flake.nix @@ -0,0 +1,49 @@ +{ + description = "Aaron's System Config"; + + inputs = { + nixpkgs.url = "nixpkgs/nixos-23.05"; + home-manager.url = "github:nix-community/home-manager/release-23.05"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + cosmic-comp.url = "github:pop-os/cosmic-comp/master_jammy"; + cosmic-panel.url = "github:pop-os/cosmic-panel/master_jammy"; + cosmic-settings.url = "github:pop-os/cosmic-settings/master_jammy"; + cosmic-settings-daemon.url = "github:pop-os/cosmic-settings-daemon/master_jammy"; + cosmic-launcher.url = "github:pop-os/cosmic-launcher/master_jammy"; + cosmic-applibrary.url = "github:pop-os/cosmic-applibrary/master_jammy"; + cosmic-session.url = "github:pop-os/cosmic-session/ab26218ab2139dc884a66bdb57f6216b248670bf"; + cosmic-applets.url = "github:pop-os/cosmic-applets/58c27e88603ad47479115b632d2fa87579d8fa39"; + cosmic-workspaces.url = "github:pop-os/cosmic-workspaces-epoch/717c454a7e31c4ffc8baf6c1d1c90fd74a223e55"; + cosmic-osd.url = "github:pop-os/cosmic-osd/b6d93f736d4b9ab3df4cceafaf59cd8c95859ed6"; + cosmic-bg.url = "github:pop-os/cosmic-bg/master_jammy"; + xdg-desktop-portal-cosmic.url = "github:pop-os/xdg-desktop-portal-cosmic/master_jammy"; + }; + + outputs = { self, nixpkgs, home-manager, cosmic-comp, cosmic-session, cosmic-panel, cosmic-applets, cosmic-settings, cosmic-settings-daemon, cosmic-launcher, cosmic-applibrary, cosmic-workspaces, cosmic-osd, xdg-desktop-portal-cosmic, cosmic-bg }@attrs: let + system = "x86_64-linux"; + pkgs = import nixpkgs { + inherit system; + config = { allowUnfree = true; }; + }; + cosmic-session.inputs.nixpkgs.follows = "nixpkgs"; + + lib = nixpkgs.lib; + + in { + nixosConfigurations = { + nixos = lib.nixosSystem { + inherit system; + specialArgs.inputs = attrs; + modules = [ + ./system/configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.ashley = import ./users/ashley/home.nix; + } + ]; + }; + }; + }; +} From 7ee660a5b4b53872cf5240f8677ce70305e420db Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 27 Jun 2023 20:21:40 +0000 Subject: [PATCH 64/92] Update COSMIC-flake.nix --- systems/COSMIC-flake.nix | 105 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 104 insertions(+), 1 deletion(-) diff --git a/systems/COSMIC-flake.nix b/systems/COSMIC-flake.nix index d2e3c33..9d7e5cc 100644 --- a/systems/COSMIC-flake.nix +++ b/systems/COSMIC-flake.nix @@ -40,7 +40,110 @@ { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.ashley = import ./users/ashley/home.nix; + home-manager.users.aaronh = import ./users/aaronh/home.nix; + } + + ({config, pkgs, ...}: { + nix = { + settings.auto-optimise-store = true; + settings.experimental-features = [ "nix-command" "flakes" ]; + settings.extra-platforms = [ "aarch64-linux" ]; + + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + boot = { + kernelPackages = pkgs.linuxPackages_latest; + + binfmt.emulatedSystems = [ "aarch64-linux" ]; + + loader = { + systemd-boot.enable = true; + systemd-boot.consoleMode = "0"; + }; + }; + + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "America/Denver"; + + # Enter keyboard layout + services.xserver.layout = "us"; + + # Define user accounts + users.users.aaronh = { + description = "Aaron Honeycutt"; + home = "/home/aaronh"; + extraGroups = [ "wheel" "networkmanager" "adm"]; + isNormalUser = true; + hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; + + packages = with pkgs; [ + # Fonts + fira + roboto-slab + + # CLI + git + git-lfs + + # GUI + firefox + ]; + }; + + # Allow Unfree + nixpkgs.config.allowUnfree = true; + + # Install some packages + environment.systemPackages = + with pkgs; + [ + avahi + cargo + dmidecode + libcamera + lshw + nix-index + unzip + wget + xz + ]; + + # Enable/Disable hardware + ## Turn off PulseAudio + hardware.pulseaudio.enable = false; + + # Enable Pipewire + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + # Enable Bluetooth + hardware.bluetooth.enable = true; + + # Enable services + services.fwupd.enable = true; + services.printing.enable = true; + services.openssh.enable = true; + + services.avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + }; + + # System + system.stateVersion = "22.11"; + system.autoUpgrade.enable = true; } ]; }; From 9f1897fdea22425a4312111b43368748911f91f8 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 27 Jun 2023 20:42:57 +0000 Subject: [PATCH 65/92] Update COSMIC-flake.nix --- systems/COSMIC-flake.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/systems/COSMIC-flake.nix b/systems/COSMIC-flake.nix index 9d7e5cc..1e57bb2 100644 --- a/systems/COSMIC-flake.nix +++ b/systems/COSMIC-flake.nix @@ -142,9 +142,8 @@ }; # System - system.stateVersion = "22.11"; + system.stateVersion = "23.05"; system.autoUpgrade.enable = true; - } ]; }; }; From 65d769a261614a6eb46fa3323a8c8a13d0bd2bed Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 27 Jun 2023 20:46:24 +0000 Subject: [PATCH 66/92] Update COSMIC-flake.nix --- systems/COSMIC-flake.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/systems/COSMIC-flake.nix b/systems/COSMIC-flake.nix index 1e57bb2..0c74817 100644 --- a/systems/COSMIC-flake.nix +++ b/systems/COSMIC-flake.nix @@ -141,9 +141,11 @@ openFirewall = true; }; - # System - system.stateVersion = "23.05"; - system.autoUpgrade.enable = true; + system = { + stateVersion = "23.05"; + autoUpgrade.enable = true; + }; + }) ]; }; }; From a173c0e87c22b90ca53f55cff8a52ca5d071abdc Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Wed, 28 Jun 2023 12:00:37 +0000 Subject: [PATCH 67/92] Update COSMIC-flake.nix --- systems/COSMIC-flake.nix | 116 +-------------------------------------- 1 file changed, 2 insertions(+), 114 deletions(-) diff --git a/systems/COSMIC-flake.nix b/systems/COSMIC-flake.nix index 0c74817..d44fb4b 100644 --- a/systems/COSMIC-flake.nix +++ b/systems/COSMIC-flake.nix @@ -3,8 +3,6 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-23.05"; - home-manager.url = "github:nix-community/home-manager/release-23.05"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; cosmic-comp.url = "github:pop-os/cosmic-comp/master_jammy"; cosmic-panel.url = "github:pop-os/cosmic-panel/master_jammy"; cosmic-settings.url = "github:pop-os/cosmic-settings/master_jammy"; @@ -19,7 +17,7 @@ xdg-desktop-portal-cosmic.url = "github:pop-os/xdg-desktop-portal-cosmic/master_jammy"; }; - outputs = { self, nixpkgs, home-manager, cosmic-comp, cosmic-session, cosmic-panel, cosmic-applets, cosmic-settings, cosmic-settings-daemon, cosmic-launcher, cosmic-applibrary, cosmic-workspaces, cosmic-osd, xdg-desktop-portal-cosmic, cosmic-bg }@attrs: let + outputs = { self, nixpkgs, cosmic-comp, cosmic-session, cosmic-panel, cosmic-applets, cosmic-settings, cosmic-settings-daemon, cosmic-launcher, cosmic-applibrary, cosmic-workspaces, cosmic-osd, xdg-desktop-portal-cosmic, cosmic-bg }@attrs: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; @@ -35,117 +33,7 @@ inherit system; specialArgs.inputs = attrs; modules = [ - ./system/configuration.nix - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.aaronh = import ./users/aaronh/home.nix; - } - - ({config, pkgs, ...}: { - nix = { - settings.auto-optimise-store = true; - settings.experimental-features = [ "nix-command" "flakes" ]; - settings.extra-platforms = [ "aarch64-linux" ]; - - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - - boot = { - kernelPackages = pkgs.linuxPackages_latest; - - binfmt.emulatedSystems = [ "aarch64-linux" ]; - - loader = { - systemd-boot.enable = true; - systemd-boot.consoleMode = "0"; - }; - }; - - networking.networkmanager.enable = true; - - # Set your time zone. - time.timeZone = "America/Denver"; - - # Enter keyboard layout - services.xserver.layout = "us"; - - # Define user accounts - users.users.aaronh = { - description = "Aaron Honeycutt"; - home = "/home/aaronh"; - extraGroups = [ "wheel" "networkmanager" "adm"]; - isNormalUser = true; - hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; - - packages = with pkgs; [ - # Fonts - fira - roboto-slab - - # CLI - git - git-lfs - - # GUI - firefox - ]; - }; - - # Allow Unfree - nixpkgs.config.allowUnfree = true; - - # Install some packages - environment.systemPackages = - with pkgs; - [ - avahi - cargo - dmidecode - libcamera - lshw - nix-index - unzip - wget - xz - ]; - - # Enable/Disable hardware - ## Turn off PulseAudio - hardware.pulseaudio.enable = false; - - # Enable Pipewire - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - # Enable Bluetooth - hardware.bluetooth.enable = true; - - # Enable services - services.fwupd.enable = true; - services.printing.enable = true; - services.openssh.enable = true; - - services.avahi = { - enable = true; - nssmdns = true; - openFirewall = true; - }; - - system = { - stateVersion = "23.05"; - autoUpgrade.enable = true; - }; - }) + ./configuration.nix ]; }; }; From e2976947fbbee6ef3aa30babe5fc57aad5e4840c Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 29 Jun 2023 12:55:11 +0000 Subject: [PATCH 68/92] Add new file --- systems/COSMIC-configuration.nix | 162 +++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 systems/COSMIC-configuration.nix diff --git a/systems/COSMIC-configuration.nix b/systems/COSMIC-configuration.nix new file mode 100644 index 0000000..d0efbac --- /dev/null +++ b/systems/COSMIC-configuration.nix @@ -0,0 +1,162 @@ + Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, inputs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./cachix.nix + ]; + # make ready for nix flakes which are experimental... + nix.package = pkgs.nixFlakes; + nix.extraOptions = '' + experimental-features = nix-command flakes + ''; + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos"; # 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/New_York"; + + # 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 X11 windowing system. + services.xserver.enable = true; + + # Enable the GNOME Desktop Environment. + services.xserver.displayManager.gdm.enable = true; + services.xserver.displayManager.gdm.wayland = true; + services.xserver.desktopManager.gnome.enable = true; + services.xserver.displayManager.sessionPackages = [ inputs.cosmic-session.packages.x86_64-linux.default ]; + services.xserver.displayManager.defaultSession = "cosmic"; + # Configure keymap in X11 + services.xserver = { + layout = "us"; + xkbVariant = ""; + }; + + # Enable CUPS to print documents. + services.printing.enable = true; + + programs.gnupg.agent = { + enable = true; + pinentryFlavor = "gnome3"; + enableSSHSupport = true; + }; + + # Enable sound with pipewire. + sound.enable = true; + 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; + }; + + # 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.ashley = { + isNormalUser = true; + description = "Ashley Wulber"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; [ + firefox + git + git-crypt + gnupg + pinentry + # thunderbird + ]; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + cachix + vim + xdg-desktop-portal-gtk + inputs.cosmic-session.packages.x86_64-linux.default + inputs.cosmic-comp.packages.x86_64-linux.default + inputs.cosmic-panel.packages.x86_64-linux.default + inputs.cosmic-applibrary.packages.x86_64-linux.default + inputs.cosmic-launcher.packages.x86_64-linux.default + inputs.cosmic-settings.packages.x86_64-linux.default + inputs.cosmic-applets.packages.x86_64-linux.default + # inputs.cosmic-notifications.packages.x86_64-linux.default + inputs.cosmic-osd.packages.x86_64-linux.default + inputs.cosmic-workspaces.packages.x86_64-linux.default + inputs.cosmic-bg.packages.x86_64-linux.default + inputs.xdg-desktop-portal-cosmic.packages.x86_64-linux.default + inputs.cosmic-settings-daemon.packages.x86_64-linux.default + ]; + + services.dbus.implementation = "broker"; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "23.05"; # Did you read the comment? + +} From 8e8b9671032a669507506fafce0d88d490c015fc Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 3 Jul 2023 19:44:23 +0000 Subject: [PATCH 69/92] Add new directory --- systems/x86_64/thelio-b1/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 systems/x86_64/thelio-b1/.gitkeep diff --git a/systems/x86_64/thelio-b1/.gitkeep b/systems/x86_64/thelio-b1/.gitkeep new file mode 100644 index 0000000..e69de29 From 6a4ee844220fb0de90acc3a682ea696f77b58fc0 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 3 Jul 2023 19:45:24 +0000 Subject: [PATCH 70/92] Upload New File --- systems/x86_64/thelio-b1/flake.nix | 106 +++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 systems/x86_64/thelio-b1/flake.nix diff --git a/systems/x86_64/thelio-b1/flake.nix b/systems/x86_64/thelio-b1/flake.nix new file mode 100644 index 0000000..8e72c02 --- /dev/null +++ b/systems/x86_64/thelio-b1/flake.nix @@ -0,0 +1,106 @@ +{ + description = "thelio-b1"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; + }; + + outputs = { self, nixpkgs, ... }@inputs: { + nixosConfigurations = { + "thelio-b1" = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + # Import the configuration.nix we used before, so that the old configuration file can still take effect. + # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here +# ./configuration.nix + ./hardware-configuration.nix + + ({config, pkgs, ...}: { + nix = { + settings.auto-optimise-store = true; + settings.experimental-features = [ "nix-command" "flakes" ]; + + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + }; + + nixpkgs.config.allowUnfree = true; + + boot = { + kernelPackages = pkgs.linuxPackages_latest; + kernelParams = [ "console=ttyS0,1920n8" ]; + + binfmt.emulatedSystems = [ "aarch64-linux" ]; + + loader.systemd-boot.enable = true; + loader.systemd-boot.consoleMode = "0"; + }; + + networking = { + hostName = "thelio-b1"; + networkmanager.enable = true; + }; + + users.users.aaronh = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + cargo + git + git-lfs + mdbook + neofetch + restic + roboto-slab + + firefox + ]; + }; + + environment.systemPackages = with pkgs; [ + avahi + dmidecode + libcamera + lshw + nix-index + sysstat + tree + unzip + wget + ]; + + hardware.pulseaudio.enable = false; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + services = { + fwupd.enable = true; + printing.enable = true; + openssh.enable = true; + }; + + services.avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + }; + + system = { + stateVersion = "23.05"; + autoUpgrade.enable = true; + }; + }) + ]; + }; + }; + }; +} From c03865e914d791f5c85156ed3a3e01a2467c0a69 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Mon, 3 Jul 2023 19:58:52 +0000 Subject: [PATCH 71/92] Update flake.nix --- systems/x86_64/thelio-b1/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/x86_64/thelio-b1/flake.nix b/systems/x86_64/thelio-b1/flake.nix index 8e72c02..488d335 100644 --- a/systems/x86_64/thelio-b1/flake.nix +++ b/systems/x86_64/thelio-b1/flake.nix @@ -30,7 +30,7 @@ nixpkgs.config.allowUnfree = true; boot = { - kernelPackages = pkgs.linuxPackages_latest; + # kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "console=ttyS0,1920n8" ]; binfmt.emulatedSystems = [ "aarch64-linux" ]; From 5f2c8f470821339c1a5f154507156243b8f0ae3e Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 6 Jul 2023 17:22:13 +0000 Subject: [PATCH 72/92] Update gnome.nix --- desktops/gnome.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/desktops/gnome.nix b/desktops/gnome.nix index 33858c9..d58b3c7 100644 --- a/desktops/gnome.nix +++ b/desktops/gnome.nix @@ -10,7 +10,6 @@ # Add GNOME packages environment.systemPackages = (with pkgs; [ - amberol gnome.dconf-editor gnome.gnome-tweaks gnomeExtensions.appindicator From 6b3f0da694dc2579bdd7e647efa37ccf929d488a Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 6 Jul 2023 17:25:05 +0000 Subject: [PATCH 73/92] Update flake.nix --- systems/x86_64/thelio-b1/flake.nix | 165 +++++++++++++++++------------ 1 file changed, 97 insertions(+), 68 deletions(-) diff --git a/systems/x86_64/thelio-b1/flake.nix b/systems/x86_64/thelio-b1/flake.nix index 488d335..d6b4f3e 100644 --- a/systems/x86_64/thelio-b1/flake.nix +++ b/systems/x86_64/thelio-b1/flake.nix @@ -16,88 +16,117 @@ ./hardware-configuration.nix ({config, pkgs, ...}: { - nix = { - settings.auto-optimise-store = true; - settings.experimental-features = [ "nix-command" "flakes" ]; + nix = { + settings.auto-optimise-store = true; + settings.experimental-features = [ "nix-command" "flakes" ]; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - }; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + }; - nixpkgs.config.allowUnfree = true; + nixpkgs.config.allowUnfree = true; - boot = { - # kernelPackages = pkgs.linuxPackages_latest; - kernelParams = [ "console=ttyS0,1920n8" ]; + boot = { + # kernelPackages = pkgs.linuxPackages_latest; + kernelParams = [ "console=ttyS0,1920n8" ]; - binfmt.emulatedSystems = [ "aarch64-linux" ]; + binfmt.emulatedSystems = [ "aarch64-linux" ]; - loader.systemd-boot.enable = true; - loader.systemd-boot.consoleMode = "0"; - }; + loader.systemd-boot.enable = true; + loader.systemd-boot.consoleMode = "0"; + }; - networking = { - hostName = "thelio-b1"; - networkmanager.enable = true; - }; + networking = { + hostName = "thelio-b1"; + networkmanager.enable = true; + }; - users.users.aaronh = { - isNormalUser = true; - extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. - packages = with pkgs; [ - cargo - git - git-lfs - mdbook - neofetch - restic - roboto-slab + users.users.aaronh = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + cargo + git + git-lfs + mdbook + neofetch + restic + roboto-slab - firefox - ]; - }; + firefox + ]; + }; - environment.systemPackages = with pkgs; [ - avahi - dmidecode - libcamera - lshw - nix-index - sysstat - tree - unzip - wget - ]; + environment.systemPackages = with pkgs; [ + avahi + dmidecode + libcamera + lshw + nix-index + sysstat + tree + unzip + wget + ]; - hardware.pulseaudio.enable = false; + # GNOME + services.xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + }; + + # Add GNOME packages + environment.systemPackages = (with pkgs; [ + gnome.dconf-editor + gnome.gnome-tweaks + gnomeExtensions.appindicator + gnomeExtensions.pop-shell + gnomeExtensions.pop-launcher-super-key + ]); + + # Remove GNOME packages + environment.gnome.excludePackages = (with pkgs; [ + epiphany # web browser + gnome.geary + gnome.gnome-software + gnome-connections + gnome-photos + gnome-tour + ]); + + # Services + services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; + + hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; - services = { - fwupd.enable = true; - printing.enable = true; - openssh.enable = true; - }; + services = { + fwupd.enable = true; + printing.enable = true; + openssh.enable = true; + }; - services.avahi = { - enable = true; - nssmdns = true; - openFirewall = true; - }; + services.avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + }; - system = { - stateVersion = "23.05"; - autoUpgrade.enable = true; - }; + system = { + stateVersion = "23.05"; + autoUpgrade.enable = true; + }; }) ]; }; From 37dd5778d5353b0f272615e89d89a43f3ebb7b3f Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 6 Jul 2023 17:31:05 +0000 Subject: [PATCH 74/92] Add new directory --- systems/x86_64/vm/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 systems/x86_64/vm/.gitkeep diff --git a/systems/x86_64/vm/.gitkeep b/systems/x86_64/vm/.gitkeep new file mode 100644 index 0000000..e69de29 From 25326034901a922ff284b1fa068d1c8309f07688 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 6 Jul 2023 17:32:16 +0000 Subject: [PATCH 75/92] Add new file --- systems/x86_64/vm/flake.nix | 135 ++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 systems/x86_64/vm/flake.nix diff --git a/systems/x86_64/vm/flake.nix b/systems/x86_64/vm/flake.nix new file mode 100644 index 0000000..2fda809 --- /dev/null +++ b/systems/x86_64/vm/flake.nix @@ -0,0 +1,135 @@ +{ + description = "nixos-vm"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; + }; + + outputs = { self, nixpkgs, ... }@inputs: { + nixosConfigurations = { + "nixos-vm" = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + # Import the configuration.nix we used before, so that the old configuration file can still take effect. + # Note: /etc/nixos/configuration.nix itself is also a Nix Module, so you can import it directly here +# ./configuration.nix + ./hardware-configuration.nix + + ({config, pkgs, ...}: { + nix = { + settings.auto-optimise-store = true; + settings.experimental-features = [ "nix-command" "flakes" ]; + + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + }; + + nixpkgs.config.allowUnfree = true; + + boot = { + # kernelPackages = pkgs.linuxPackages_latest; + kernelParams = [ "console=ttyS0,1920n8" ]; + + binfmt.emulatedSystems = [ "aarch64-linux" ]; + + loader.systemd-boot.enable = true; + loader.systemd-boot.consoleMode = "0"; + }; + + networking = { + hostName = "nixos-vm"; + networkmanager.enable = true; + }; + + users.users.aaronh = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + cargo + git + git-lfs + mdbook + neofetch + restic + roboto-slab + + firefox + ]; + }; + + environment.systemPackages = with pkgs; [ + avahi + dmidecode + libcamera + lshw + nix-index + sysstat + tree + unzip + wget + ]; + + # GNOME + services.xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + }; + + # Add GNOME packages + environment.systemPackages = (with pkgs; [ + gnome.dconf-editor + gnome.gnome-tweaks + gnomeExtensions.appindicator + gnomeExtensions.pop-shell + gnomeExtensions.pop-launcher-super-key + ]); + + # Remove GNOME packages + environment.gnome.excludePackages = (with pkgs; [ + epiphany # web browser + gnome.geary + gnome.gnome-software + gnome-connections + gnome-photos + gnome-tour + ]); + + # Services + services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; + + hardware.pulseaudio.enable = false; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + services = { + fwupd.enable = true; + printing.enable = true; + openssh.enable = true; + }; + + services.avahi = { + enable = true; + nssmdns = true; + openFirewall = true; + }; + + system = { + stateVersion = "23.05"; + autoUpgrade.enable = true; + }; + }) + ]; + }; + }; + }; +} From 0759ae2c9fb5d81015c9f3d4f56c2373d5a51000 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 6 Jul 2023 17:43:09 +0000 Subject: [PATCH 76/92] Update flake.nix --- systems/x86_64/vm/flake.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/systems/x86_64/vm/flake.nix b/systems/x86_64/vm/flake.nix index 2fda809..d198988 100644 --- a/systems/x86_64/vm/flake.nix +++ b/systems/x86_64/vm/flake.nix @@ -30,6 +30,13 @@ nixpkgs.config.allowUnfree = true; boot = { + initrd.luks.devices = { + root = { + device = "/dev/sda"; + preLVM = true; + }; + }; + # kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "console=ttyS0,1920n8" ]; From 6b48445879db8344e3e5970dd54b98924a0c5160 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 6 Jul 2023 17:43:35 +0000 Subject: [PATCH 77/92] Update flake.nix --- systems/x86_64/thelio-b1/flake.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/systems/x86_64/thelio-b1/flake.nix b/systems/x86_64/thelio-b1/flake.nix index d6b4f3e..6624543 100644 --- a/systems/x86_64/thelio-b1/flake.nix +++ b/systems/x86_64/thelio-b1/flake.nix @@ -30,6 +30,13 @@ nixpkgs.config.allowUnfree = true; boot = { + initrd.luks.devices = { + root = { + device = "/dev/sda"; + preLVM = true; + }; + }; + # kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "console=ttyS0,1920n8" ]; From 5ab15c981a573e3809e2c5a304d95d28372cf64e Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 6 Jul 2023 18:01:28 +0000 Subject: [PATCH 78/92] Update flake.nix --- systems/x86_64/vm/flake.nix | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/systems/x86_64/vm/flake.nix b/systems/x86_64/vm/flake.nix index d198988..28bef95 100644 --- a/systems/x86_64/vm/flake.nix +++ b/systems/x86_64/vm/flake.nix @@ -67,7 +67,14 @@ ]; }; - environment.systemPackages = with pkgs; [ + # GNOME + services.xserver = { + enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + }; + + environment.systemPackages = (with pkgs; [ avahi dmidecode libcamera @@ -77,17 +84,8 @@ tree unzip wget - ]; - # GNOME - services.xserver = { - enable = true; - displayManager.gdm.enable = true; - desktopManager.gnome.enable = true; - }; - - # Add GNOME packages - environment.systemPackages = (with pkgs; [ + # Add GNOME packages gnome.dconf-editor gnome.gnome-tweaks gnomeExtensions.appindicator From 1d50830a5c89fa50c8b279f8ba4beddf97c7f9c4 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 7 Jul 2023 15:40:31 +0000 Subject: [PATCH 79/92] Update flake.nix --- systems/x86_64/thelio-b1/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/x86_64/thelio-b1/flake.nix b/systems/x86_64/thelio-b1/flake.nix index 6624543..399af96 100644 --- a/systems/x86_64/thelio-b1/flake.nix +++ b/systems/x86_64/thelio-b1/flake.nix @@ -38,7 +38,7 @@ }; # kernelPackages = pkgs.linuxPackages_latest; - kernelParams = [ "console=ttyS0,1920n8" ]; + # kernelParams = [ "console=ttyS0,1920n8" ]; binfmt.emulatedSystems = [ "aarch64-linux" ]; From 9e201680788bea63caf7ac696f5cefdd51dc52d2 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 7 Jul 2023 15:47:57 +0000 Subject: [PATCH 80/92] Update flake.nix --- systems/x86_64/vm/flake.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/systems/x86_64/vm/flake.nix b/systems/x86_64/vm/flake.nix index 28bef95..da9f1ce 100644 --- a/systems/x86_64/vm/flake.nix +++ b/systems/x86_64/vm/flake.nix @@ -29,14 +29,15 @@ nixpkgs.config.allowUnfree = true; - boot = { - initrd.luks.devices = { + boot.initrd.luks.devices = { root = { device = "/dev/sda"; preLVM = true; }; }; + boot = { + # kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "console=ttyS0,1920n8" ]; From 0709a397bafc566e8de6bf68d4fce1f2406fbf75 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 7 Jul 2023 16:01:46 +0000 Subject: [PATCH 81/92] Update flake.nix --- systems/x86_64/vm/flake.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/systems/x86_64/vm/flake.nix b/systems/x86_64/vm/flake.nix index da9f1ce..28bef95 100644 --- a/systems/x86_64/vm/flake.nix +++ b/systems/x86_64/vm/flake.nix @@ -29,15 +29,14 @@ nixpkgs.config.allowUnfree = true; - boot.initrd.luks.devices = { + boot = { + initrd.luks.devices = { root = { device = "/dev/sda"; preLVM = true; }; }; - boot = { - # kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "console=ttyS0,1920n8" ]; From 8c29a7be9250705021082307d5dda5696f615e65 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 11 Aug 2023 14:20:12 +0000 Subject: [PATCH 82/92] Update home.nix --- home.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/home.nix b/home.nix index 289b873..57b98a8 100644 --- a/home.nix +++ b/home.nix @@ -14,20 +14,18 @@ # You can update Home Manager without changing this value. See # the Home Manager release notes for a list of state version # changes in each release. - home.stateVersion = "22.11"; + home.stateVersion = "23.05"; nixpkgs.config.allowUnfree = true; home.packages = with pkgs; [ # GUI - firefox spotify vscode # CLI mdbook neofetch - restic ]; programs.bash = { @@ -69,7 +67,6 @@ programs.command-not-found.enable = true; - programs.firefox.enable = true; programs.gh.enable = true; # Let Home Manager install and manage itself. From 395e87c3fd587901a3fdb1c90771d5512e4d98ed Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 11 Aug 2023 14:24:41 +0000 Subject: [PATCH 83/92] Update configuration.nix --- configuration.nix | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/configuration.nix b/configuration.nix index a7f7359..64c3345 100644 --- a/configuration.nix +++ b/configuration.nix @@ -58,16 +58,7 @@ hashedPassword = "$6$aAcbLtqiqzySifls$jdKMOQjoWITHD/dWNNZVUH/qNc6aoJ7v4zYofi0U7IJSVTbmOfChS3mzaJbp57AodjdPNKPrnrip8Nlh2Qanx."; packages = with pkgs; [ - # Fonts - fira - roboto-slab - - # CLI - git - git-lfs - - # GUI - firefox + neofetch ]; }; @@ -81,8 +72,13 @@ avahi cargo dmidecode + fira + firefox + git + git-lfs libcamera lshw + roboto-slab nix-index unzip wget @@ -118,7 +114,7 @@ }; # System - system.stateVersion = "22.11"; + system.stateVersion = "23.05"; system.autoUpgrade.enable = true; } From d1809f4e4cb012e8df6fae71aabf16757acd0a1e Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Thu, 14 Sep 2023 23:29:11 +0000 Subject: [PATCH 84/92] Update flake.nix --- systems/x86_64/sovereign/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/x86_64/sovereign/flake.nix b/systems/x86_64/sovereign/flake.nix index fb6e605..8e4eff1 100644 --- a/systems/x86_64/sovereign/flake.nix +++ b/systems/x86_64/sovereign/flake.nix @@ -2,7 +2,7 @@ description = "Sovereign"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:NixOS/nixpkgs/release-23.05"; }; outputs = { self, nixpkgs, ... }@inputs: { From 75f744731805f5dc74a10ab574fb9e298df11c54 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 15 Sep 2023 00:02:32 +0000 Subject: [PATCH 85/92] Update flake.nix --- systems/x86_64/harbinger/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/x86_64/harbinger/flake.nix b/systems/x86_64/harbinger/flake.nix index 66610b3..64dc310 100644 --- a/systems/x86_64/harbinger/flake.nix +++ b/systems/x86_64/harbinger/flake.nix @@ -2,7 +2,7 @@ description = "Harbinger"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:NixOS/nixpkgs/release-23.05"; }; outputs = { self, nixpkgs, ... }@inputs: { From c4c64ab7e20284c16e4c23d43a6de2427ae09fa8 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 15 Sep 2023 00:04:33 +0000 Subject: [PATCH 86/92] Update flake.nix --- systems/aarch64/vetra/flake.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systems/aarch64/vetra/flake.nix b/systems/aarch64/vetra/flake.nix index 10a2338..0764a0d 100644 --- a/systems/aarch64/vetra/flake.nix +++ b/systems/aarch64/vetra/flake.nix @@ -2,7 +2,7 @@ description = "Vetra"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/release-23.05"; home-manager = { url = "github:nix-community/home-manager/release-22.11"; inputs.nixpkgs.follows = "nixpkgs"; @@ -100,7 +100,7 @@ # System system = { - stateVersion = "22.11"; + stateVersion = "23.05"; autoUpgrade.enable = true; }; }) From 4d6d305747d7f071925afc82f9956bc7515ec650 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 15 Sep 2023 13:34:36 +0000 Subject: [PATCH 87/92] Update flake.nix --- systems/x86_64/thelio-b1/flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/x86_64/thelio-b1/flake.nix b/systems/x86_64/thelio-b1/flake.nix index 399af96..a09d3d6 100644 --- a/systems/x86_64/thelio-b1/flake.nix +++ b/systems/x86_64/thelio-b1/flake.nix @@ -2,7 +2,7 @@ description = "thelio-b1"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:NixOS/nixpkgs/release-23.05"; }; outputs = { self, nixpkgs, ... }@inputs: { From 681af7d90b24601359d59d05503ced864dc8fd52 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Sun, 17 Sep 2023 21:26:16 +0000 Subject: [PATCH 88/92] Update pinephone.nix --- systems/aarch64/peebee/pinephone.nix | 63 +++++++++++++--------------- 1 file changed, 28 insertions(+), 35 deletions(-) diff --git a/systems/aarch64/peebee/pinephone.nix b/systems/aarch64/peebee/pinephone.nix index 7017125..ca4c127 100644 --- a/systems/aarch64/peebee/pinephone.nix +++ b/systems/aarch64/peebee/pinephone.nix @@ -7,16 +7,27 @@ ]; - networking.hostName = "peebee"; - time.timeZone = "America/Denver"; + fileSystems."/mnt/ExtraDrive" = + { device = "/dev/disk/by-uuid/631d2b85-2e0b-4740-8b45-6147cf15193f"; + fsType = "ext4"; + }; - # - # Opinionated defaults - # - - # Use Network Manager + # Kernel changes + # boot.kernelPackages = pkgs.linuxPackages_latest; + + nix.settings.auto-optimise-store = true; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + # NetworkManager networking.wireless.enable = false; networking.networkmanager.enable = true; + networking.hostName = "peebee"; # SSH services.openssh = { @@ -43,9 +54,7 @@ user = "aaronh"; }; - # - # User configuration - # + time.timeZone = "America/Denver"; users.users."aaronh" = { isNormalUser = true; @@ -57,42 +66,26 @@ "networkmanager" "video" "wheel" - ]; - + ]; + # GUI packages = with pkgs; [ - deja-dup - foliate - headlines - gnome.gnome-clocks - gnome.gnome-calculator - gnome-feeds - gnome-photos - gnome-podcasts - lollypop - marker - phosh-mobile-settings portfolio-filemanager - spot - tootle # CLI grim + ]; + }; - ]; -}; - - # Remove non-friendly GNOME packages + # Remove GNOME packages environment.gnome.excludePackages = (with pkgs; [ gnome-photos gnome-tour ]); - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + environment.systemPackages = (with pkgs; [ + # rest of your packages + ]); + system.stateVersion = "23.05"; # Did you read the comment? } From 3e04f88cdd286f28865dec96cc3ab269001c974a Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Sun, 17 Sep 2023 21:34:58 +0000 Subject: [PATCH 89/92] Update pinephone.nix --- systems/aarch64/peebee/pinephone.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/systems/aarch64/peebee/pinephone.nix b/systems/aarch64/peebee/pinephone.nix index ca4c127..6bb0749 100644 --- a/systems/aarch64/peebee/pinephone.nix +++ b/systems/aarch64/peebee/pinephone.nix @@ -87,5 +87,4 @@ # rest of your packages ]); - system.stateVersion = "23.05"; # Did you read the comment? -} + system.stateVersion = "23.11"; From 95e5ffd128d43d9c27e2b0e6573e4f5d9e518593 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 3 Oct 2023 16:34:47 +0000 Subject: [PATCH 90/92] Add new file --- systems/x86_64/lemp12.nix | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 systems/x86_64/lemp12.nix diff --git a/systems/x86_64/lemp12.nix b/systems/x86_64/lemp12.nix new file mode 100644 index 0000000..2d3a183 --- /dev/null +++ b/systems/x86_64/lemp12.nix @@ -0,0 +1,9 @@ +{ config, pkgs, ... }: + +{ + # Name your host machine + networking.hostName = "lemp12"; + + # System76 + hardware.system76.enableAll = true; +} From c4f7ceed57f3ebb5158cdb2e64bd45082176d454 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Tue, 3 Oct 2023 16:37:52 +0000 Subject: [PATCH 91/92] Update flake.nix --- systems/x86_64/thelio-b1/flake.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/systems/x86_64/thelio-b1/flake.nix b/systems/x86_64/thelio-b1/flake.nix index a09d3d6..959c151 100644 --- a/systems/x86_64/thelio-b1/flake.nix +++ b/systems/x86_64/thelio-b1/flake.nix @@ -1,5 +1,5 @@ { - description = "thelio-b1"; + description = "Joker"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/release-23.05"; @@ -7,7 +7,7 @@ outputs = { self, nixpkgs, ... }@inputs: { nixosConfigurations = { - "thelio-b1" = nixpkgs.lib.nixosSystem { + "joker" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ # Import the configuration.nix we used before, so that the old configuration file can still take effect. @@ -47,7 +47,7 @@ }; networking = { - hostName = "thelio-b1"; + hostName = "joker"; networkmanager.enable = true; }; From 01089650c4624ca58b84cc41ae867a82654b54d9 Mon Sep 17 00:00:00 2001 From: Aaron Honeycutt Date: Fri, 27 Oct 2023 16:13:08 +0000 Subject: [PATCH 92/92] Add new file --- systems/x86_64/darp9.nix | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 systems/x86_64/darp9.nix diff --git a/systems/x86_64/darp9.nix b/systems/x86_64/darp9.nix new file mode 100644 index 0000000..59cbbd4 --- /dev/null +++ b/systems/x86_64/darp9.nix @@ -0,0 +1,9 @@ +{ config, pkgs, ... }: + +{ + # Name your host machine + networking.hostName = "darp9"; + + # System76 + hardware.system76.enableAll = true; +}