Compare commits
	
		
			4 Commits
		
	
	
		
			anime-game
			...
			ixion-buil
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0c1763528e | |||
| 59ed5f0463 | |||
| aa47f720ed | |||
| 831fce71b8 | 
@@ -13,9 +13,9 @@ set $term alacritty
 | 
			
		||||
set $menu wofi --term '$term'
 | 
			
		||||
 | 
			
		||||
### Output configuration
 | 
			
		||||
output DP-3 pos 1920 0 res 1920x1080@60Hz
 | 
			
		||||
output HDMI-A-1 pos 0 0 res 1920x1080@60Hz
 | 
			
		||||
output DP-2 pos 3840 0 res 1920x1080@60Hz
 | 
			
		||||
output DP-3 pos 3840 0 res 1920x1080@59Hz
 | 
			
		||||
output HDMI-A-1 pos 0 0 res 1920x1080@59Hz
 | 
			
		||||
output DP-2 pos 1920 0 res 1920x1080@60Hz
 | 
			
		||||
 | 
			
		||||
### Wallpaper
 | 
			
		||||
output HDMI-A-1 bg ~/.wallpaper/.wallpaper.png fill
 | 
			
		||||
@@ -25,22 +25,22 @@ output DP-3 bg ~/.wallpaper/.wallpaper.png fill
 | 
			
		||||
### Workspace binding
 | 
			
		||||
 | 
			
		||||
## DP-3 bindings
 | 
			
		||||
workspace 1 output DP-3
 | 
			
		||||
workspace 2 output DP-3
 | 
			
		||||
workspace 4 output DP-3
 | 
			
		||||
workspace 5 output DP-3
 | 
			
		||||
workspace 1 output DP-2
 | 
			
		||||
workspace 2 output DP-2
 | 
			
		||||
workspace 4 output DP-2
 | 
			
		||||
workspace 5 output DP-2
 | 
			
		||||
 | 
			
		||||
## HDMI-A-1 bindings
 | 
			
		||||
workspace 3 output HDMI-A-1
 | 
			
		||||
workspace 9 output HDMI-A-1
 | 
			
		||||
 | 
			
		||||
## DP-2 bindings
 | 
			
		||||
workspace 6 output DP-2
 | 
			
		||||
workspace 7 output DP-2
 | 
			
		||||
workspace 8 output DP-2
 | 
			
		||||
workspace 6 output DP-3
 | 
			
		||||
workspace 7 output DP-3
 | 
			
		||||
workspace 8 output DP-3
 | 
			
		||||
 | 
			
		||||
### Colour options
 | 
			
		||||
set $bg 	       #24283b
 | 
			
		||||
set $bg 	#24283b
 | 
			
		||||
set $bg-inactive   #323232
 | 
			
		||||
set $bg-urgent     #000000
 | 
			
		||||
set $text          #eeeeec
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										158
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										158
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -1,27 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "nodes": {
 | 
			
		||||
    "aagl": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-compat": "flake-compat",
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
          "nixpkgs"
 | 
			
		||||
        ],
 | 
			
		||||
        "rust-overlay": "rust-overlay"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1761836926,
 | 
			
		||||
        "narHash": "sha256-HnNzEUuBqmJCUV/N/IbL0wFT1LHmNGWTLkUg7yRIhpY=",
 | 
			
		||||
        "owner": "ezKEa",
 | 
			
		||||
        "repo": "aagl-gtk-on-nix",
 | 
			
		||||
        "rev": "e601b479a3d08124ee6ceea391cdc3f395aab54e",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "ezKEa",
 | 
			
		||||
        "repo": "aagl-gtk-on-nix",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "darwin": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
@@ -29,11 +7,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1759509947,
 | 
			
		||||
        "narHash": "sha256-4XifSIHfpJKcCf5bZZRhj8C4aCpjNBaE3kXr02s4rHU=",
 | 
			
		||||
        "lastModified": 1757432263,
 | 
			
		||||
        "narHash": "sha256-qHn+/0+IOz5cG68BZUwL9BV3EO/e9eNKCjH3+N7wMdI=",
 | 
			
		||||
        "owner": "lnl7",
 | 
			
		||||
        "repo": "nix-darwin",
 | 
			
		||||
        "rev": "000eadb231812ad6ea6aebd7526974aaf4e79355",
 | 
			
		||||
        "rev": "1fef4404de4d1596aa5ab2bd68078370e1b9dcdb",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -44,22 +22,6 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-compat": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1761588595,
 | 
			
		||||
        "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
 | 
			
		||||
        "owner": "edolstra",
 | 
			
		||||
        "repo": "flake-compat",
 | 
			
		||||
        "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "edolstra",
 | 
			
		||||
        "repo": "flake-compat",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "flake-compat_2": {
 | 
			
		||||
      "flake": false,
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1747046372,
 | 
			
		||||
@@ -95,18 +57,18 @@
 | 
			
		||||
    },
 | 
			
		||||
    "ghostty": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "flake-compat": "flake-compat_2",
 | 
			
		||||
        "flake-compat": "flake-compat",
 | 
			
		||||
        "flake-utils": "flake-utils",
 | 
			
		||||
        "nixpkgs": "nixpkgs_2",
 | 
			
		||||
        "nixpkgs": "nixpkgs",
 | 
			
		||||
        "zig": "zig",
 | 
			
		||||
        "zon2nix": "zon2nix"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1761933492,
 | 
			
		||||
        "narHash": "sha256-DNGhpvYt6dVbkDse4s/L/jJvejvOV0bs+YWfAAskJ7g=",
 | 
			
		||||
        "lastModified": 1759330332,
 | 
			
		||||
        "narHash": "sha256-ZKyOgOOm9Itjbc5xi89xMtw+cnnOFfl79zndPMTzKpU=",
 | 
			
		||||
        "owner": "ghostty-org",
 | 
			
		||||
        "repo": "ghostty",
 | 
			
		||||
        "rev": "765ee6842930f0d6918574b9b87c2ee6583e4727",
 | 
			
		||||
        "rev": "a5aff0e347b0016e2735d4ec4b4cdca96b5438d1",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -154,34 +116,18 @@
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1744536153,
 | 
			
		||||
        "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
 | 
			
		||||
        "owner": "NixOS",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
        "lastModified": 1748189127,
 | 
			
		||||
        "narHash": "sha256-zRDR+EbbeObu4V2X5QCd2Bk5eltfDlCr5yvhBwUT6pY=",
 | 
			
		||||
        "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
 | 
			
		||||
        "type": "tarball",
 | 
			
		||||
        "url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.802491.7c43f080a7f2/nixexprs.tar.xz"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "NixOS",
 | 
			
		||||
        "ref": "nixpkgs-unstable",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
        "type": "tarball",
 | 
			
		||||
        "url": "https://channels.nixos.org/nixos-25.05/nixexprs.tar.xz"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs_2": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 315532800,
 | 
			
		||||
        "narHash": "sha256-sV6pJNzFkiPc6j9Bi9JuHBnWdVhtKB/mHgVmMPvDFlk=",
 | 
			
		||||
        "rev": "82c2e0d6dde50b17ae366d2aa36f224dc19af469",
 | 
			
		||||
        "type": "tarball",
 | 
			
		||||
        "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre877938.82c2e0d6dde5/nixexprs.tar.xz"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "type": "tarball",
 | 
			
		||||
        "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs_3": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1758360447,
 | 
			
		||||
        "narHash": "sha256-XDY3A83bclygHDtesRoaRTafUd80Q30D/Daf9KSG6bs=",
 | 
			
		||||
@@ -194,13 +140,13 @@
 | 
			
		||||
        "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs_4": {
 | 
			
		||||
    "nixpkgs_3": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1761597516,
 | 
			
		||||
        "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
 | 
			
		||||
        "lastModified": 1759281824,
 | 
			
		||||
        "narHash": "sha256-FIBE1qXv9TKvSNwst6FumyHwCRH3BlWDpfsnqRDCll0=",
 | 
			
		||||
        "owner": "nixos",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
 | 
			
		||||
        "rev": "5b5be50345d4113d04ba58c444348849f5585b4a",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -210,67 +156,29 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs_5": {
 | 
			
		||||
    "quadlet-nix": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1744536153,
 | 
			
		||||
        "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
 | 
			
		||||
        "owner": "NixOS",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
 | 
			
		||||
        "lastModified": 1758631655,
 | 
			
		||||
        "narHash": "sha256-EGeZ963L7xsNAY7snvP1JHQe7LWLVCM6f49+PzWjhEE=",
 | 
			
		||||
        "owner": "SEIAROTg",
 | 
			
		||||
        "repo": "quadlet-nix",
 | 
			
		||||
        "rev": "2ebe01b175e2e1e6de3f172d23f0c3b88713eec9",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "NixOS",
 | 
			
		||||
        "ref": "nixpkgs-unstable",
 | 
			
		||||
        "repo": "nixpkgs",
 | 
			
		||||
        "owner": "SEIAROTg",
 | 
			
		||||
        "repo": "quadlet-nix",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "root": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "aagl": "aagl",
 | 
			
		||||
        "darwin": "darwin",
 | 
			
		||||
        "ghostty": "ghostty",
 | 
			
		||||
        "home-manager": "home-manager",
 | 
			
		||||
        "nix-flatpak": "nix-flatpak",
 | 
			
		||||
        "nixpkgs": "nixpkgs_4",
 | 
			
		||||
        "rust-overlay": "rust-overlay_2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "rust-overlay": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": "nixpkgs"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1761791894,
 | 
			
		||||
        "narHash": "sha256-myRIDh+PxaREz+z9LzbqBJF+SnTFJwkthKDX9zMyddY=",
 | 
			
		||||
        "owner": "oxalica",
 | 
			
		||||
        "repo": "rust-overlay",
 | 
			
		||||
        "rev": "59c45eb69d9222a4362673141e00ff77842cd219",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "oxalica",
 | 
			
		||||
        "repo": "rust-overlay",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "rust-overlay_2": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": "nixpkgs_5"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1761964689,
 | 
			
		||||
        "narHash": "sha256-Zo3LQQDz+64EQ9zor/WmeNTFLoZkjmhp0UY3G0D3seE=",
 | 
			
		||||
        "owner": "oxalica",
 | 
			
		||||
        "repo": "rust-overlay",
 | 
			
		||||
        "rev": "63d22578600f70d293aede6bc737efef60ebd97f",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
        "owner": "oxalica",
 | 
			
		||||
        "repo": "rust-overlay",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
        "nixpkgs": "nixpkgs_3",
 | 
			
		||||
        "quadlet-nix": "quadlet-nix"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "systems": {
 | 
			
		||||
@@ -304,11 +212,11 @@
 | 
			
		||||
        ]
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1760401936,
 | 
			
		||||
        "narHash": "sha256-/zj5GYO5PKhBWGzbHbqT+ehY8EghuABdQ2WGfCwZpCQ=",
 | 
			
		||||
        "lastModified": 1748261582,
 | 
			
		||||
        "narHash": "sha256-3i0IL3s18hdDlbsf0/E+5kyPRkZwGPbSFngq5eToiAA=",
 | 
			
		||||
        "owner": "mitchellh",
 | 
			
		||||
        "repo": "zig-overlay",
 | 
			
		||||
        "rev": "365085b6652259753b598d43b723858184980bbe",
 | 
			
		||||
        "rev": "aafb1b093fb838f7a02613b719e85ec912914221",
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      },
 | 
			
		||||
      "original": {
 | 
			
		||||
@@ -319,7 +227,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "zon2nix": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": "nixpkgs_3"
 | 
			
		||||
        "nixpkgs": "nixpkgs_2"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1758405547,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										90
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										90
									
								
								flake.nix
									
									
									
									
									
								
							@@ -12,11 +12,7 @@
 | 
			
		||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
			
		||||
    };
 | 
			
		||||
    ghostty.url = "github:ghostty-org/ghostty";
 | 
			
		||||
    rust-overlay.url = "github:oxalica/rust-overlay";
 | 
			
		||||
    aagl = {
 | 
			
		||||
      url = "github:ezKEa/aagl-gtk-on-nix";
 | 
			
		||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
			
		||||
    };
 | 
			
		||||
    quadlet-nix.url = "github:SEIAROTg/quadlet-nix";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = inputs @ {
 | 
			
		||||
@@ -26,40 +22,27 @@
 | 
			
		||||
    darwin,
 | 
			
		||||
    home-manager,
 | 
			
		||||
    ghostty,
 | 
			
		||||
    rust-overlay,
 | 
			
		||||
    aagl,
 | 
			
		||||
    quadlet-nix,
 | 
			
		||||
    ...
 | 
			
		||||
  }: let
 | 
			
		||||
    userName = "wyatt";
 | 
			
		||||
    userEmail = "wyatt@wyattjmiller.com";
 | 
			
		||||
    extraSpecialArgs = {
 | 
			
		||||
      inherit userName userEmail ghostty;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    myOverlays = { ... }: {
 | 
			
		||||
      nixpkgs.overlays = [
 | 
			
		||||
        rust-overlay.overlays.default
 | 
			
		||||
        aagl.overlays.default
 | 
			
		||||
        self.common.overlays
 | 
			
		||||
      ];
 | 
			
		||||
    # use this variable to take inputs and use them as arguments in your modules, this will be the common one
 | 
			
		||||
    customArgs = {
 | 
			
		||||
      inherit userName userEmail ghostty quadlet-nix;
 | 
			
		||||
    };
 | 
			
		||||
  in {
 | 
			
		||||
    meta = import ./meta;
 | 
			
		||||
 | 
			
		||||
    common = {
 | 
			
		||||
      overlays = import ./modules/common/overlays.nix;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    # Primary laptop - MacBook Pro (2023, M3)
 | 
			
		||||
    darwinConfigurations."sephiroth" = darwin.lib.darwinSystem {
 | 
			
		||||
      system = "aarch64-darwin";
 | 
			
		||||
      specialArgs = {
 | 
			
		||||
        inherit userName userEmail ghostty;
 | 
			
		||||
      specialArgs = customArgs // {
 | 
			
		||||
        hostname = "sephiroth";
 | 
			
		||||
        role = "devel";
 | 
			
		||||
      };
 | 
			
		||||
      modules = [
 | 
			
		||||
        myOverlays
 | 
			
		||||
        ./modules/common
 | 
			
		||||
        ./modules/machine/sephiroth
 | 
			
		||||
 | 
			
		||||
@@ -67,8 +50,9 @@
 | 
			
		||||
        {
 | 
			
		||||
          home-manager.useGlobalPkgs = true;
 | 
			
		||||
          home-manager.useUserPackages = true;
 | 
			
		||||
          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
			
		||||
          home-manager.backupFileExtension = "bak";
 | 
			
		||||
          home-manager.extraSpecialArgs = customArgs // {
 | 
			
		||||
            inherit home-manager;
 | 
			
		||||
          };
 | 
			
		||||
          home-manager.users.${userName} = import ./home;
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
@@ -77,13 +61,11 @@
 | 
			
		||||
    # Primary desktop computer
 | 
			
		||||
    nixosConfigurations."cloud" = nixpkgs.lib.nixosSystem {
 | 
			
		||||
      system = "x86_64-linux";
 | 
			
		||||
      specialArgs = {
 | 
			
		||||
        inherit userName userEmail ghostty aagl;
 | 
			
		||||
      specialArgs = customArgs // {
 | 
			
		||||
        hostname = "cloud";
 | 
			
		||||
        role = "devel";
 | 
			
		||||
      };
 | 
			
		||||
      modules = [
 | 
			
		||||
        myOverlays
 | 
			
		||||
        nix-flatpak.nixosModules.nix-flatpak
 | 
			
		||||
        ./modules/common
 | 
			
		||||
        ./modules/machine/cloud
 | 
			
		||||
@@ -92,8 +74,9 @@
 | 
			
		||||
        {
 | 
			
		||||
          home-manager.useGlobalPkgs = true;
 | 
			
		||||
          home-manager.useUserPackages = true;
 | 
			
		||||
          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
			
		||||
          home-manager.backupFileExtension = "bak";
 | 
			
		||||
          home-manager.extraSpecialArgs = customArgs // {
 | 
			
		||||
            inherit home-manager;
 | 
			
		||||
          };
 | 
			
		||||
          home-manager.users.${userName}.imports = [
 | 
			
		||||
            ./home
 | 
			
		||||
          ];
 | 
			
		||||
@@ -104,13 +87,11 @@
 | 
			
		||||
    # Apartment appliance server
 | 
			
		||||
    nixosConfigurations."valefor" = nixpkgs.lib.nixosSystem {
 | 
			
		||||
      system = "x86_64-linux";
 | 
			
		||||
      specialArgs = {
 | 
			
		||||
        inherit userName userEmail;
 | 
			
		||||
      specialArgs = customArgs // {
 | 
			
		||||
        hostname = "valefor";
 | 
			
		||||
        role = "server";
 | 
			
		||||
      };
 | 
			
		||||
      modules = [
 | 
			
		||||
        myOverlays
 | 
			
		||||
        ./modules/common
 | 
			
		||||
        ./modules/machine/valefor
 | 
			
		||||
 | 
			
		||||
@@ -118,8 +99,9 @@
 | 
			
		||||
        {
 | 
			
		||||
          home-manager.useGlobalPkgs = true;
 | 
			
		||||
          home-manager.useUserPackages = true;
 | 
			
		||||
          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
			
		||||
          home-manager.backupFileExtension = "bak";
 | 
			
		||||
          home-manager.extraSpecialArgs = customArgs // {
 | 
			
		||||
            inherit home-manager;
 | 
			
		||||
          };
 | 
			
		||||
          home-manager.users.${userName}.imports = [
 | 
			
		||||
            ./home
 | 
			
		||||
          ];
 | 
			
		||||
@@ -130,31 +112,25 @@
 | 
			
		||||
    # Storage, status, game, and media server
 | 
			
		||||
    nixosConfigurations."ixion" = nixpkgs.lib.nixosSystem {
 | 
			
		||||
      system = "x86_64-linux";
 | 
			
		||||
      specialArgs = {
 | 
			
		||||
        inherit userName userEmail;
 | 
			
		||||
      specialArgs = customArgs // {
 | 
			
		||||
        hostname = "ixion";
 | 
			
		||||
        role = "server";
 | 
			
		||||
      };
 | 
			
		||||
      # modules = [
 | 
			
		||||
      #   myOverlays
 | 
			
		||||
      #   nix-flatpak.nixosModules.nix-flatpak
 | 
			
		||||
      #   nix-ld.nixosModules.nix-ld
 | 
			
		||||
      #   ./modules/nixos/hardware-configuration.nix
 | 
			
		||||
      #   ./modules/nix-core.nix
 | 
			
		||||
      #   ./modules/nixos/configuration.nix
 | 
			
		||||
      #   ./modules/host-users.nix
 | 
			
		||||
      #
 | 
			
		||||
      #   home-manager.nixosModules.home-manager
 | 
			
		||||
      #   {
 | 
			
		||||
      #     home-manager.useGlobalPkgs = true;
 | 
			
		||||
      #     home-manager.useUserPackages = true;
 | 
			
		||||
      #     home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
			
		||||
      #     home-manager.backupFileExtension = "bak";
 | 
			
		||||
      #     home-manager.users.${userName}.imports = [
 | 
			
		||||
      #       ./home
 | 
			
		||||
      #     ];
 | 
			
		||||
      #   }
 | 
			
		||||
      # ];
 | 
			
		||||
      modules = [
 | 
			
		||||
        quadlet-nix.nixosModules.quadlet
 | 
			
		||||
        ./modules/common
 | 
			
		||||
        ./modules/machine/ixion
 | 
			
		||||
 | 
			
		||||
        home-manager.nixosModules.home-manager
 | 
			
		||||
        {
 | 
			
		||||
          home-manager.useGlobalPkgs = true;
 | 
			
		||||
          home-manager.useUserPackages = true;
 | 
			
		||||
          home-manager.extraSpecialArgs = customArgs;
 | 
			
		||||
          home-manager.users.${userName}.imports = [
 | 
			
		||||
            ./home
 | 
			
		||||
          ];
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
{ pkgs, ...}: {
 | 
			
		||||
{...}: {
 | 
			
		||||
  programs.atuin = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    enableFishIntegration = true;
 | 
			
		||||
    package = pkgs.atuinLatest;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,6 @@ in {
 | 
			
		||||
    ./browser.nix
 | 
			
		||||
    ./zellij.nix
 | 
			
		||||
    ./bat.nix
 | 
			
		||||
    ./lazygit.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # Home Manager needs a bit of information about you and the
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
{ pkgs, ... }: {
 | 
			
		||||
{...}: {
 | 
			
		||||
  programs.lazygit = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    package = pkgs.lazygitLatest;
 | 
			
		||||
 | 
			
		||||
    settings = {
 | 
			
		||||
      gui.theme = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
@@ -13,6 +14,7 @@
 | 
			
		||||
 | 
			
		||||
    # utils
 | 
			
		||||
    tmux
 | 
			
		||||
    lazygit
 | 
			
		||||
    bottom
 | 
			
		||||
    ripgrep
 | 
			
		||||
    jq
 | 
			
		||||
 
 | 
			
		||||
@@ -43,25 +43,7 @@
 | 
			
		||||
            "Can I get a waffle? Can I please get a waffle?" \
 | 
			
		||||
            "I'm lesbian. I thought you were American." \
 | 
			
		||||
            "You gotta give 'em that 'hawk tuah' and spit on that thang!" \
 | 
			
		||||
            "We don't do that here..." \
 | 
			
		||||
            "What are those?! They are my crocs..." \
 | 
			
		||||
            "It's an avocado... Thanks!" \
 | 
			
		||||
            "I am once again asking for your financial support" \
 | 
			
		||||
            "Is that a weed?" \
 | 
			
		||||
            "No, this is Patrick!" \
 | 
			
		||||
            "Come ride, heroes, ride" \
 | 
			
		||||
            "Away with the tide" \
 | 
			
		||||
            "Concede your mind unto the fiend" \
 | 
			
		||||
            "Darkness come, rend the shield of light" \
 | 
			
		||||
            "The sun is setting, darkness taking over - a date with chaos and you're dressed to the nines" \
 | 
			
		||||
            "Now kneel overdweller, your lord commands, there's no salvation for the sons of man" \
 | 
			
		||||
            "Snap click clank whirr whizz wham boom!" \
 | 
			
		||||
            "Rohs an kyn ala na" \
 | 
			
		||||
            "If you’ve brought your ivory standard, I’ll be happy to tell you where you can stick it" \
 | 
			
		||||
            "Speeches? Oh, yes, I love them. There's nothing like a good exposition when you're having trouble sleeping!" \
 | 
			
		||||
            "Somehow, the boy just isn't very buoyant" \
 | 
			
		||||
            "I am...not interested, little sun. Try again when you have become a man"
 | 
			
		||||
 | 
			
		||||
            "We don't do that here..."
 | 
			
		||||
 | 
			
		||||
          set choose_meme (random)"%"(count $memes)
 | 
			
		||||
          set choose_meme $memes[(math $choose_meme"+1")]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,11 @@
 | 
			
		||||
{ 
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  aagl,
 | 
			
		||||
  ...
 | 
			
		||||
}: let
 | 
			
		||||
  cfg = config.gaming;
 | 
			
		||||
in {
 | 
			
		||||
  imports = [ aagl.nixosModules.default ];
 | 
			
		||||
 | 
			
		||||
  options.gaming = {
 | 
			
		||||
    steam = {
 | 
			
		||||
      enable = lib.mkEnableOption "Steam gaming platform";
 | 
			
		||||
@@ -111,16 +108,6 @@ in {
 | 
			
		||||
    ffxiv = {
 | 
			
		||||
      enable = lib.mkEnableOption "Final Fantasy XIV and it's accompanied (unofficial) launcher";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    aagl = {
 | 
			
		||||
      anime-game-launcher = {
 | 
			
		||||
        enable = lib.mkEnableOption "AAGL (legacy)";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      honkers-railway-launcher = {
 | 
			
		||||
        enable = lib.mkEnableOption "Honkai: Star Rail launcher";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = {
 | 
			
		||||
@@ -152,14 +139,6 @@ in {
 | 
			
		||||
        ];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    programs.anime-game-launcher = lib.mkIf cfg.aagl.anime-game-launcher.enable {
 | 
			
		||||
      enable = true;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    programs.honkers-railway-launcher = lib.mkIf cfg.aagl.honkers-railway-launcher.enable {
 | 
			
		||||
      enable = true;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    environment.systemPackages =
 | 
			
		||||
      (lib.optionals cfg.lutris.enable (
 | 
			
		||||
        [cfg.lutris.package] ++
 | 
			
		||||
@@ -176,13 +155,5 @@ in {
 | 
			
		||||
      )) ++
 | 
			
		||||
      (lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
 | 
			
		||||
      (lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher]);
 | 
			
		||||
 | 
			
		||||
    nix.settings = (lib.mkIf
 | 
			
		||||
      (cfg.aagl.anime-game-launcher.enable || cfg.aagl.honkers-railway-laucher.enable)
 | 
			
		||||
      {
 | 
			
		||||
        substituters = [ "https://ezkea.cachix.org" ];
 | 
			
		||||
        trusted-public-keys = [ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ];
 | 
			
		||||
      }
 | 
			
		||||
    );
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -8,9 +8,6 @@
 | 
			
		||||
 | 
			
		||||
  # Allow unfree packages
 | 
			
		||||
  nixpkgs.config.allowUnfree = true;
 | 
			
		||||
  nixpkgs.config.permittedInsecurePackages = [
 | 
			
		||||
    "mbedtls-2.28.10"
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  nix.package = pkgs.nix;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,12 @@
 | 
			
		||||
{ ... }: {
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./core.nix
 | 
			
		||||
    ./environment.nix
 | 
			
		||||
    ./fonts.nix
 | 
			
		||||
    # ./overlays.nix
 | 
			
		||||
    ./users.nix
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,50 +0,0 @@
 | 
			
		||||
final: prev: let
 | 
			
		||||
  rust_1_90_0 = prev.rust-bin.stable."1.90.0".default;
 | 
			
		||||
  myRustPlatform = prev.makeRustPlatform {
 | 
			
		||||
    cargo = rust_1_90_0;
 | 
			
		||||
    rustc = rust_1_90_0;
 | 
			
		||||
  };
 | 
			
		||||
in {
 | 
			
		||||
  lazygitLatest = prev.lazygit.overrideAttrs (_: rec {
 | 
			
		||||
    version = "0.55.1";
 | 
			
		||||
    src = prev.fetchFromGitHub {
 | 
			
		||||
      owner = "jesseduffield";
 | 
			
		||||
      repo = "lazygit";
 | 
			
		||||
      rev = "v${version}";
 | 
			
		||||
      hash = "sha256-UofhgILZhVXnYiGpb25m4Ct4sbu5pRmjVgj3oEf5Uyk=";
 | 
			
		||||
    };
 | 
			
		||||
    vendorHash = null;
 | 
			
		||||
    subPackages = [ "." ];
 | 
			
		||||
    ldflags = [
 | 
			
		||||
      "-X main.version=${version}"
 | 
			
		||||
      "-X main.buildSource=nix"
 | 
			
		||||
    ];
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  atuinLatest = (prev.atuin.override {
 | 
			
		||||
    rustPlatform = myRustPlatform;
 | 
			
		||||
  }).overrideAttrs (oldAttrs: rec {
 | 
			
		||||
    version = "18.10.0";
 | 
			
		||||
 | 
			
		||||
    src = prev.fetchFromGitHub {
 | 
			
		||||
      owner = "atuinsh";
 | 
			
		||||
      repo = "atuin";
 | 
			
		||||
      rev = "v${version}";
 | 
			
		||||
      hash = "sha256-bfSa3RtVXxHt3usDqqpE/oXKKDUZOrf+tD9uL59fr6M=";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    cargoDeps = myRustPlatform.fetchCargoVendor {
 | 
			
		||||
      # name = "atuin-${version}-vendor.tar.gz";
 | 
			
		||||
      inherit src;
 | 
			
		||||
      hash = "sha256-67ffivZVCly1GWA3fJ9mT8nGv2EGd6eCthbaIu/IW3M=";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    preCheck = (oldAttrs.preCheck or "") + ''
 | 
			
		||||
      export HOME="$TMPDIR"
 | 
			
		||||
      export XDG_CONFIG_HOME="$TMPDIR/.config"
 | 
			
		||||
      export XDG_DATA_HOME="$TMPDIR/.local/share"
 | 
			
		||||
      export XDG_STATE_HOME="$TMPDIR/.local/state"
 | 
			
		||||
      mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME"
 | 
			
		||||
    '';
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
@@ -62,9 +62,9 @@ in {
 | 
			
		||||
 | 
			
		||||
    (mkIf (cfg.gpuVendor == "amd") {
 | 
			
		||||
      services.xserver.videoDrivers = ["amdgpu"];
 | 
			
		||||
      # hardware.graphics.extraPackages = with pkgs; [
 | 
			
		||||
      #   amdvlk
 | 
			
		||||
      # ];
 | 
			
		||||
      hardware.graphics.extraPackages = with pkgs; [
 | 
			
		||||
        amdvlk
 | 
			
		||||
      ];
 | 
			
		||||
      environment.systemPackages = with pkgs; [
 | 
			
		||||
        radeontop
 | 
			
		||||
      ];
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  userName,
 | 
			
		||||
  aagl,
 | 
			
		||||
  ...
 | 
			
		||||
}: let
 | 
			
		||||
  flatpakPackages = [
 | 
			
		||||
@@ -18,7 +18,7 @@
 | 
			
		||||
in {
 | 
			
		||||
  imports = [
 | 
			
		||||
    (import ../../apps/flatpak.nix {
 | 
			
		||||
      inherit lib pkgs flatpakPackages userName aagl;
 | 
			
		||||
      inherit lib pkgs flatpakPackages;
 | 
			
		||||
    })
 | 
			
		||||
    ../../apps/gaming.nix
 | 
			
		||||
    ../../apps/appimage.nix
 | 
			
		||||
@@ -108,7 +108,6 @@ in {
 | 
			
		||||
 | 
			
		||||
    ffxiv.enable = true;
 | 
			
		||||
    minecraft.enable = true;
 | 
			
		||||
    aagl.anime-game-launcher.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Power management (see ../../pwrMgmt/default.nix)
 | 
			
		||||
 
 | 
			
		||||
@@ -12,24 +12,24 @@
 | 
			
		||||
    (modulesPath + "/installer/scan/not-detected.nix")
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "ahci" "usb_storage" "usbhid" "sd_mod"];
 | 
			
		||||
  boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
 | 
			
		||||
  boot.initrd.kernelModules = [];
 | 
			
		||||
  boot.kernelModules = ["kvm-amd"];
 | 
			
		||||
  boot.extraModulePackages = [];
 | 
			
		||||
 | 
			
		||||
  fileSystems."/" = {
 | 
			
		||||
    device = "/dev/disk/by-uuid/f8f39aae-61d2-437d-a8e1-01066bbb3c5c";
 | 
			
		||||
    device = "/dev/disk/by-label/COMPUTER";
 | 
			
		||||
    fsType = "xfs";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  fileSystems."/boot" = {
 | 
			
		||||
    device = "/dev/disk/by-uuid/B72F-087F";
 | 
			
		||||
    device = "/dev/disk/by-label/BOOT";
 | 
			
		||||
    fsType = "vfat";
 | 
			
		||||
    options = ["fmask=0022" "dmask=0022"];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  swapDevices = [
 | 
			
		||||
    {device = "/dev/disk/by-uuid/6d6bcc02-20a9-4ae8-9c1e-5124fb2b2634";}
 | 
			
		||||
    {device = "/dev/disk/by-label/SWAP";}
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										84
									
								
								modules/machine/ixion/configuration.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								modules/machine/ixion/configuration.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,84 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  userName,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  imports = [
 | 
			
		||||
    ../../pwrMgmt
 | 
			
		||||
    ../../networking/core.nix
 | 
			
		||||
    ../../virtualization/podman.nix
 | 
			
		||||
    ../../virtualization/quadlet.nix
 | 
			
		||||
    ../../virtualization/hardware.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # Enable flakes for NixOS
 | 
			
		||||
  nix.settings.experimental-features = ["nix-command" "flakes"];
 | 
			
		||||
 | 
			
		||||
  # Custom kernel/boot stuff
 | 
			
		||||
  boot = {
 | 
			
		||||
    kernelPackages = pkgs.linuxPackages_latest;
 | 
			
		||||
    loader = {
 | 
			
		||||
      systemd-boot.enable = true;
 | 
			
		||||
      efi.canTouchEfiVariables = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Enable Polkit
 | 
			
		||||
  security.polkit.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Make sure Bluetooth is off!
 | 
			
		||||
  hardware.bluetooth.enable = false;
 | 
			
		||||
 | 
			
		||||
  # Set your timezone
 | 
			
		||||
  time.timeZone = "America/Detroit";
 | 
			
		||||
 | 
			
		||||
  # Power management module
 | 
			
		||||
  pwrMgmt = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    cpuFreqGovernor = "performance";
 | 
			
		||||
    powertop.enable = false;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Podman module (see ../../virtualization/podman.nix)
 | 
			
		||||
  podman = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    extraPackages = with pkgs; [
 | 
			
		||||
      docker-credential-helpers
 | 
			
		||||
      toolbox
 | 
			
		||||
      cosign
 | 
			
		||||
      crane
 | 
			
		||||
      podman-tui
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Core networking module (see ../../networking/core.nix)
 | 
			
		||||
  network = {
 | 
			
		||||
    firewall.enable = true;
 | 
			
		||||
    networkManager.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs = {
 | 
			
		||||
    # Enable GnuPG
 | 
			
		||||
    gnupg.agent = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      enableSSHSupport = true;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    # Enable SUID wrappers (some programs need them)
 | 
			
		||||
    mtr.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  users.users.${userName}.extraGroups = ["wheel" "video" "podman" "network"];
 | 
			
		||||
 | 
			
		||||
  services = {
 | 
			
		||||
    # Enable OpenSSH
 | 
			
		||||
    openssh.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Install packages to be installed system-wide
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    wireguard-tools
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  system.stateVersion = "25.05";
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										6
									
								
								modules/machine/ixion/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								modules/machine/ixion/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
{...}: {
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./configuration.nix
 | 
			
		||||
    ./hardware-configuration.nix
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										46
									
								
								modules/machine/ixion/hardware-configuration.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								modules/machine/ixion/hardware-configuration.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
# --- DO NOT USE ---
 | 
			
		||||
#
 | 
			
		||||
# this is copied from ../valefor/hardware-configuration.nix
 | 
			
		||||
# generate a new hardware-configuration.nix before using this!
 | 
			
		||||
#
 | 
			
		||||
# ------------------
 | 
			
		||||
# 
 | 
			
		||||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
			
		||||
# and may be overwritten by future invocations.  Please make changes
 | 
			
		||||
# to /etc/nixos/configuration.nix instead.
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [ (modulesPath + "/installer/scan/not-detected.nix")
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
 | 
			
		||||
  boot.initrd.kernelModules = [ ];
 | 
			
		||||
  boot.kernelModules = [ "kvm-intel" ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
 | 
			
		||||
  fileSystems."/" =
 | 
			
		||||
    { device = "/dev/disk/by-uuid/ff89bde1-4b33-4277-b649-b92700b2406c";
 | 
			
		||||
      fsType = "xfs";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  fileSystems."/boot" =
 | 
			
		||||
    { device = "/dev/disk/by-uuid/3A4B-6866";
 | 
			
		||||
      fsType = "vfat";
 | 
			
		||||
      options = [ "fmask=0022" "dmask=0022" ];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  swapDevices = [ ];
 | 
			
		||||
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
			
		||||
  # (the default) this is the recommended approach. When using systemd-networkd it's
 | 
			
		||||
  # still possible to use this option, but it's recommended to use it in conjunction
 | 
			
		||||
  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
 | 
			
		||||
  networking.useDHCP = lib.mkDefault true;
 | 
			
		||||
  # networking.interfaces.eno1.useDHCP = lib.mkDefault true;
 | 
			
		||||
  # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
			
		||||
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,12 +1,12 @@
 | 
			
		||||
# Power management modules
 | 
			
		||||
 | 
			
		||||
This directory houses my own custom defined power management settings. These are set in the machine-specific configurations (typically).
 | 
			
		||||
This directory houses my own custom defined power management settings as NixOS modules. These are set in the machine-specific configurations (typically).
 | 
			
		||||
 | 
			
		||||
## Examples
 | 
			
		||||
 | 
			
		||||
Given that this configuration is in the `machine/<hostname>` directory (where hostname is the name of the computer your configuring):
 | 
			
		||||
 | 
			
		||||
### Desktop configuration
 | 
			
		||||
### Desktop/server configuration
 | 
			
		||||
 | 
			
		||||
```nix
 | 
			
		||||
  imports = [
 | 
			
		||||
 
 | 
			
		||||
@@ -1,16 +1,7 @@
 | 
			
		||||
{ lib, pkgs, userName, ...}: {
 | 
			
		||||
{pkgs, ...}: {
 | 
			
		||||
  services.shairport-sync = {
 | 
			
		||||
    enable = pkgs.stdenv.isLinux;
 | 
			
		||||
    openFirewall = pkgs.stdenv.isLinux;
 | 
			
		||||
    # arguments = "-v -o pa";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  systemd.services.shairport-sync = {
 | 
			
		||||
    serviceConfig = {
 | 
			
		||||
      User = lib.mkForce "${userName}";
 | 
			
		||||
    };
 | 
			
		||||
    environment = {
 | 
			
		||||
      XDG_RUNTIME_DIR = "/run/user/1000";
 | 
			
		||||
    };
 | 
			
		||||
    arguments = "-v -o pw";
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,13 @@ Example:
 | 
			
		||||
  };
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To get a full, comprehensive list of what you can do with the podman module, please check out (podman.nix)[./podman.nix]!
 | 
			
		||||
To get a full, comprehensive list of what you can do with the podman module, please check out [podman.nix](./podman.nix)!
 | 
			
		||||
 | 
			
		||||
### Podman Quadlets
 | 
			
		||||
 | 
			
		||||
This is a wrapper around a project called [`quadlet-nix`](https://github.com/SEIAROTg/quadlet-nix), a way of defining systemd services as containers with Nix! Since I have existing services running inside of containers and don't want to risk breaking _everything_ that I have running, I figured this would be a safe, transitionary approach to handle this.
 | 
			
		||||
 | 
			
		||||
This is still a work-in-progress, check back soon on progress on this.
 | 
			
		||||
 | 
			
		||||
## Kubernetes
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										47
									
								
								modules/virtualization/quadlet.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								modules/virtualization/quadlet.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
# ----------------------
 | 
			
		||||
# Wrapper for defining Quadlets in Nix via quadlet-nix
 | 
			
		||||
#
 | 
			
		||||
# Still WIP
 | 
			
		||||
# ----------------------
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: 
 | 
			
		||||
let
 | 
			
		||||
  cfg = config.quadlet;
 | 
			
		||||
in {
 | 
			
		||||
  options = {
 | 
			
		||||
    quadlet = {
 | 
			
		||||
      enable = lib.mkEnableOption "Enable Podman's Quadlet systemd integration";
 | 
			
		||||
      
 | 
			
		||||
      autoUpdate = {
 | 
			
		||||
        enable = lib.mkEnableOption "Enable the auto update mechanism";
 | 
			
		||||
        
 | 
			
		||||
        calendar = lib.mkOption {
 | 
			
		||||
          type = lib.types.str;
 | 
			
		||||
          default = "*-*-* 03:30:00";
 | 
			
		||||
          description = "When the auto update mechanism is triggered, the calendar option will tell the auto update when to start";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
      
 | 
			
		||||
      extraPackages = lib.mkOption {
 | 
			
		||||
        type = lib.types.listOf lib.types.package;
 | 
			
		||||
        default = [];
 | 
			
		||||
        description = "Additional container-related packages to install (these likely will be installed with Podman though)";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    virtualisation.quadlet = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      autoUpdate = {
 | 
			
		||||
        enable = cfg.autoUpdate.enable;
 | 
			
		||||
        calendar = cfg.autoUpdate.calendar;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    
 | 
			
		||||
    environment.systemPackages = cfg.extraPackages;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user