Compare commits
	
		
			23 Commits
		
	
	
		
			nvf-neovim
			...
			hm-standal
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 717e8c452d | |||
| 8fd3ca8c9a | |||
| a73194fed9 | |||
| 0572cacd28 | |||
| ecf728bc11 | |||
| 5a59f98ebc | |||
| e1d13065f8 | |||
| 5ab19d093a | |||
| 569141d227 | |||
| 48edbfdc4b | |||
| 50c62a4d3f | |||
| f4b518f806 | |||
| 7fffa45e4e | |||
| a3c53820b1 | |||
| 8cbdeb4cdc | |||
| bfa957adcd | |||
| 50d22afef8 | |||
| 29feb9223e | |||
| 7bc7749f51 | |||
| 93052529b8 | |||
| faed026258 | |||
| 3af5061a79 | |||
| ddd3fb39e4 | 
							
								
								
									
										0
									
								
								defaults/k9s/catppuccin-mocha.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								defaults/k9s/catppuccin-mocha.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -13,9 +13,9 @@ set $term alacritty
 | 
				
			|||||||
set $menu wofi --term '$term'
 | 
					set $menu wofi --term '$term'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Output configuration
 | 
					### Output configuration
 | 
				
			||||||
output DP-3 pos 3840 0 res 1920x1080@59Hz
 | 
					output DP-3 pos 1920 0 res 1920x1080@60Hz
 | 
				
			||||||
output HDMI-A-1 pos 0 0 res 1920x1080@59Hz
 | 
					output HDMI-A-1 pos 0 0 res 1920x1080@60Hz
 | 
				
			||||||
output DP-2 pos 1920 0 res 1920x1080@60Hz
 | 
					output DP-2 pos 3840 0 res 1920x1080@60Hz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Wallpaper
 | 
					### Wallpaper
 | 
				
			||||||
output HDMI-A-1 bg ~/.wallpaper/.wallpaper.png fill
 | 
					output HDMI-A-1 bg ~/.wallpaper/.wallpaper.png fill
 | 
				
			||||||
@@ -25,22 +25,22 @@ output DP-3 bg ~/.wallpaper/.wallpaper.png fill
 | 
				
			|||||||
### Workspace binding
 | 
					### Workspace binding
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## DP-3 bindings
 | 
					## DP-3 bindings
 | 
				
			||||||
workspace 1 output DP-2
 | 
					workspace 1 output DP-3
 | 
				
			||||||
workspace 2 output DP-2
 | 
					workspace 2 output DP-3
 | 
				
			||||||
workspace 4 output DP-2
 | 
					workspace 4 output DP-3
 | 
				
			||||||
workspace 5 output DP-2
 | 
					workspace 5 output DP-3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## HDMI-A-1 bindings
 | 
					## HDMI-A-1 bindings
 | 
				
			||||||
workspace 3 output HDMI-A-1
 | 
					workspace 3 output HDMI-A-1
 | 
				
			||||||
workspace 9 output HDMI-A-1
 | 
					workspace 9 output HDMI-A-1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## DP-2 bindings
 | 
					## DP-2 bindings
 | 
				
			||||||
workspace 6 output DP-3
 | 
					workspace 6 output DP-2
 | 
				
			||||||
workspace 7 output DP-3
 | 
					workspace 7 output DP-2
 | 
				
			||||||
workspace 8 output DP-3
 | 
					workspace 8 output DP-2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Colour options
 | 
					### Colour options
 | 
				
			||||||
set $bg 	#24283b
 | 
					set $bg 	       #24283b
 | 
				
			||||||
set $bg-inactive   #323232
 | 
					set $bg-inactive   #323232
 | 
				
			||||||
set $bg-urgent     #000000
 | 
					set $bg-urgent     #000000
 | 
				
			||||||
set $text          #eeeeec
 | 
					set $text          #eeeeec
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										107
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										107
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -7,11 +7,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1749744770,
 | 
					        "lastModified": 1759509947,
 | 
				
			||||||
        "narHash": "sha256-MEM9XXHgBF/Cyv1RES1t6gqAX7/tvayBC1r/KPyK1ls=",
 | 
					        "narHash": "sha256-4XifSIHfpJKcCf5bZZRhj8C4aCpjNBaE3kXr02s4rHU=",
 | 
				
			||||||
        "owner": "lnl7",
 | 
					        "owner": "lnl7",
 | 
				
			||||||
        "repo": "nix-darwin",
 | 
					        "repo": "nix-darwin",
 | 
				
			||||||
        "rev": "536f951efb1ccda9b968e3c9dee39fbeb6d3fdeb",
 | 
					        "rev": "000eadb231812ad6ea6aebd7526974aaf4e79355",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -64,11 +64,11 @@
 | 
				
			|||||||
        "zon2nix": "zon2nix"
 | 
					        "zon2nix": "zon2nix"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1754941490,
 | 
					        "lastModified": 1761172581,
 | 
				
			||||||
        "narHash": "sha256-2AJf0q4u1zakqjr0y4dCyqzdDSil8P5m2YpZxAAzJJw=",
 | 
					        "narHash": "sha256-uX8FzMlRt15kvs4pPuOHZeQe1wztQXTEWOVtB2EwmB0=",
 | 
				
			||||||
        "owner": "ghostty-org",
 | 
					        "owner": "ghostty-org",
 | 
				
			||||||
        "repo": "ghostty",
 | 
					        "repo": "ghostty",
 | 
				
			||||||
        "rev": "5bf632e9cc0e77a578bad983b0cbdf0451ce87d4",
 | 
					        "rev": "bdbda2fd8380b440508246bcda0bf1198f6666e4",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -84,11 +84,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1753592768,
 | 
					        "lastModified": 1758463745,
 | 
				
			||||||
        "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
 | 
					        "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "home-manager",
 | 
					        "repo": "home-manager",
 | 
				
			||||||
        "rev": "fc3add429f21450359369af74c2375cb34a2d204",
 | 
					        "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -116,24 +116,37 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs": {
 | 
					    "nixpkgs": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1748189127,
 | 
					        "lastModified": 315532800,
 | 
				
			||||||
        "narHash": "sha256-zRDR+EbbeObu4V2X5QCd2Bk5eltfDlCr5yvhBwUT6pY=",
 | 
					        "narHash": "sha256-sV6pJNzFkiPc6j9Bi9JuHBnWdVhtKB/mHgVmMPvDFlk=",
 | 
				
			||||||
        "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
 | 
					        "rev": "82c2e0d6dde50b17ae366d2aa36f224dc19af469",
 | 
				
			||||||
        "type": "tarball",
 | 
					        "type": "tarball",
 | 
				
			||||||
        "url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.802491.7c43f080a7f2/nixexprs.tar.xz"
 | 
					        "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre877938.82c2e0d6dde5/nixexprs.tar.xz"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
        "type": "tarball",
 | 
					        "type": "tarball",
 | 
				
			||||||
        "url": "https://channels.nixos.org/nixos-25.05/nixexprs.tar.xz"
 | 
					        "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs_2": {
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1754767907,
 | 
					        "lastModified": 1758360447,
 | 
				
			||||||
        "narHash": "sha256-8OnUzRQZkqtUol9vuUuQC30hzpMreKptNyET2T9lB6g=",
 | 
					        "narHash": "sha256-XDY3A83bclygHDtesRoaRTafUd80Q30D/Daf9KSG6bs=",
 | 
				
			||||||
 | 
					        "rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://releases.nixos.org/nixos/unstable/nixos-25.11pre864002.8eaee1103447/nixexprs.tar.xz"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_3": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1761016216,
 | 
				
			||||||
 | 
					        "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=",
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "c5f08b62ed75415439d48152c2a784e36909b1bc",
 | 
					        "rev": "481cf557888e05d3128a76f14c76397b7d7cc869",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -143,13 +156,48 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_4": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1744536153,
 | 
				
			||||||
 | 
					        "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixpkgs-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "root": {
 | 
					    "root": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "darwin": "darwin",
 | 
					        "darwin": "darwin",
 | 
				
			||||||
        "ghostty": "ghostty",
 | 
					        "ghostty": "ghostty",
 | 
				
			||||||
        "home-manager": "home-manager",
 | 
					        "home-manager": "home-manager",
 | 
				
			||||||
        "nix-flatpak": "nix-flatpak",
 | 
					        "nix-flatpak": "nix-flatpak",
 | 
				
			||||||
        "nixpkgs": "nixpkgs_2"
 | 
					        "nixpkgs": "nixpkgs_3",
 | 
				
			||||||
 | 
					        "rust-overlay": "rust-overlay"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "rust-overlay": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs_4"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1761100675,
 | 
				
			||||||
 | 
					        "narHash": "sha256-LX3TCDBeNpCWTDXtGyRASVcLmRPChSli34bgHnZ1DCw=",
 | 
				
			||||||
 | 
					        "owner": "oxalica",
 | 
				
			||||||
 | 
					        "repo": "rust-overlay",
 | 
				
			||||||
 | 
					        "rev": "72161c6c53f6e3f8dadaf54b2204a5094c6a16ae",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "oxalica",
 | 
				
			||||||
 | 
					        "repo": "rust-overlay",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "systems": {
 | 
					    "systems": {
 | 
				
			||||||
@@ -183,11 +231,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1748261582,
 | 
					        "lastModified": 1760401936,
 | 
				
			||||||
        "narHash": "sha256-3i0IL3s18hdDlbsf0/E+5kyPRkZwGPbSFngq5eToiAA=",
 | 
					        "narHash": "sha256-/zj5GYO5PKhBWGzbHbqT+ehY8EghuABdQ2WGfCwZpCQ=",
 | 
				
			||||||
        "owner": "mitchellh",
 | 
					        "owner": "mitchellh",
 | 
				
			||||||
        "repo": "zig-overlay",
 | 
					        "repo": "zig-overlay",
 | 
				
			||||||
        "rev": "aafb1b093fb838f7a02613b719e85ec912914221",
 | 
					        "rev": "365085b6652259753b598d43b723858184980bbe",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -198,27 +246,20 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "zon2nix": {
 | 
					    "zon2nix": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "flake-utils": [
 | 
					        "nixpkgs": "nixpkgs_2"
 | 
				
			||||||
          "ghostty",
 | 
					 | 
				
			||||||
          "flake-utils"
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        "nixpkgs": [
 | 
					 | 
				
			||||||
          "ghostty",
 | 
					 | 
				
			||||||
          "nixpkgs"
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742104771,
 | 
					        "lastModified": 1758405547,
 | 
				
			||||||
        "narHash": "sha256-LhidlyEA9MP8jGe1rEnyjGFCzLLgCdDpYeWggibayr0=",
 | 
					        "narHash": "sha256-WgaDgvIZMPvlZcZrpPMjkaalTBnGF2lTG+62znXctWM=",
 | 
				
			||||||
        "owner": "jcollie",
 | 
					        "owner": "jcollie",
 | 
				
			||||||
        "repo": "zon2nix",
 | 
					        "repo": "zon2nix",
 | 
				
			||||||
        "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
 | 
					        "rev": "bf983aa90ff169372b9fa8c02e57ea75e0b42245",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
        "owner": "jcollie",
 | 
					        "owner": "jcollie",
 | 
				
			||||||
        "repo": "zon2nix",
 | 
					        "repo": "zon2nix",
 | 
				
			||||||
        "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
 | 
					        "rev": "bf983aa90ff169372b9fa8c02e57ea75e0b42245",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										45
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								flake.nix
									
									
									
									
									
								
							@@ -12,6 +12,7 @@
 | 
				
			|||||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    ghostty.url = "github:ghostty-org/ghostty";
 | 
					    ghostty.url = "github:ghostty-org/ghostty";
 | 
				
			||||||
 | 
					    rust-overlay.url = "github:oxalica/rust-overlay";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  outputs = inputs @ {
 | 
					  outputs = inputs @ {
 | 
				
			||||||
@@ -21,6 +22,7 @@
 | 
				
			|||||||
    darwin,
 | 
					    darwin,
 | 
				
			||||||
    home-manager,
 | 
					    home-manager,
 | 
				
			||||||
    ghostty,
 | 
					    ghostty,
 | 
				
			||||||
 | 
					    rust-overlay,
 | 
				
			||||||
    ...
 | 
					    ...
 | 
				
			||||||
  }: let
 | 
					  }: let
 | 
				
			||||||
    userName = "wyatt";
 | 
					    userName = "wyatt";
 | 
				
			||||||
@@ -28,18 +30,29 @@
 | 
				
			|||||||
    extraSpecialArgs = {
 | 
					    extraSpecialArgs = {
 | 
				
			||||||
      inherit userName userEmail ghostty;
 | 
					      inherit userName userEmail ghostty;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    myOverlays = { ... }: {
 | 
				
			||||||
 | 
					      nixpkgs.overlays = [
 | 
				
			||||||
 | 
					        rust-overlay.overlays.default
 | 
				
			||||||
 | 
					      ] ++ (nixpkgs.lib.attrValues self.common.overlays);
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
  in {
 | 
					  in {
 | 
				
			||||||
    meta = import ./meta;
 | 
					    meta = import ./meta;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    common = {
 | 
				
			||||||
 | 
					      overlays = import ./modules/common/overlays.nix;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Primary laptop - MacBook Pro (2023, M3)
 | 
					    # Primary laptop - MacBook Pro (2023, M3)
 | 
				
			||||||
    darwinConfigurations."sephiroth" = darwin.lib.darwinSystem {
 | 
					    darwinConfigurations."sephiroth" = darwin.lib.darwinSystem {
 | 
				
			||||||
      system = "aarch64-darwin";
 | 
					      system = "aarch64-darwin";
 | 
				
			||||||
      specialArgs = {
 | 
					      specialArgs = {
 | 
				
			||||||
        inherit userName userEmail ghostty;
 | 
					        inherit userName userEmail ghostty;
 | 
				
			||||||
        hostname = "sephiroth";
 | 
					        hostname = "sephiroth";
 | 
				
			||||||
        role = "devel";
 | 
					        role = "workstation";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      modules = [
 | 
					      modules = [
 | 
				
			||||||
 | 
					        myOverlays
 | 
				
			||||||
        ./modules/common
 | 
					        ./modules/common
 | 
				
			||||||
        ./modules/machine/sephiroth
 | 
					        ./modules/machine/sephiroth
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -47,7 +60,9 @@
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
          home-manager.useGlobalPkgs = true;
 | 
					          home-manager.useGlobalPkgs = true;
 | 
				
			||||||
          home-manager.useUserPackages = true;
 | 
					          home-manager.useUserPackages = true;
 | 
				
			||||||
          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
					          home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = false; };
 | 
				
			||||||
 | 
					          # home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
				
			||||||
 | 
					          home-manager.backupFileExtension = "bak";
 | 
				
			||||||
          home-manager.users.${userName} = import ./home;
 | 
					          home-manager.users.${userName} = import ./home;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
@@ -59,9 +74,10 @@
 | 
				
			|||||||
      specialArgs = {
 | 
					      specialArgs = {
 | 
				
			||||||
        inherit userName userEmail ghostty;
 | 
					        inherit userName userEmail ghostty;
 | 
				
			||||||
        hostname = "cloud";
 | 
					        hostname = "cloud";
 | 
				
			||||||
        role = "devel";
 | 
					        role = "workstation";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      modules = [
 | 
					      modules = [
 | 
				
			||||||
 | 
					        myOverlays
 | 
				
			||||||
        nix-flatpak.nixosModules.nix-flatpak
 | 
					        nix-flatpak.nixosModules.nix-flatpak
 | 
				
			||||||
        ./modules/common
 | 
					        ./modules/common
 | 
				
			||||||
        ./modules/machine/cloud
 | 
					        ./modules/machine/cloud
 | 
				
			||||||
@@ -71,6 +87,7 @@
 | 
				
			|||||||
          home-manager.useGlobalPkgs = true;
 | 
					          home-manager.useGlobalPkgs = true;
 | 
				
			||||||
          home-manager.useUserPackages = true;
 | 
					          home-manager.useUserPackages = true;
 | 
				
			||||||
          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
					          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
				
			||||||
 | 
					          home-manager.backupFileExtension = "bak";
 | 
				
			||||||
          home-manager.users.${userName}.imports = [
 | 
					          home-manager.users.${userName}.imports = [
 | 
				
			||||||
            ./home
 | 
					            ./home
 | 
				
			||||||
          ];
 | 
					          ];
 | 
				
			||||||
@@ -87,6 +104,7 @@
 | 
				
			|||||||
        role = "server";
 | 
					        role = "server";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      modules = [
 | 
					      modules = [
 | 
				
			||||||
 | 
					        myOverlays
 | 
				
			||||||
        ./modules/common
 | 
					        ./modules/common
 | 
				
			||||||
        ./modules/machine/valefor
 | 
					        ./modules/machine/valefor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -95,6 +113,7 @@
 | 
				
			|||||||
          home-manager.useGlobalPkgs = true;
 | 
					          home-manager.useGlobalPkgs = true;
 | 
				
			||||||
          home-manager.useUserPackages = true;
 | 
					          home-manager.useUserPackages = true;
 | 
				
			||||||
          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
					          home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
				
			||||||
 | 
					          home-manager.backupFileExtension = "bak";
 | 
				
			||||||
          home-manager.users.${userName}.imports = [
 | 
					          home-manager.users.${userName}.imports = [
 | 
				
			||||||
            ./home
 | 
					            ./home
 | 
				
			||||||
          ];
 | 
					          ];
 | 
				
			||||||
@@ -111,6 +130,7 @@
 | 
				
			|||||||
        role = "server";
 | 
					        role = "server";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      # modules = [
 | 
					      # modules = [
 | 
				
			||||||
 | 
					      #   myOverlays
 | 
				
			||||||
      #   nix-flatpak.nixosModules.nix-flatpak
 | 
					      #   nix-flatpak.nixosModules.nix-flatpak
 | 
				
			||||||
      #   nix-ld.nixosModules.nix-ld
 | 
					      #   nix-ld.nixosModules.nix-ld
 | 
				
			||||||
      #   ./modules/nixos/hardware-configuration.nix
 | 
					      #   ./modules/nixos/hardware-configuration.nix
 | 
				
			||||||
@@ -123,11 +143,30 @@
 | 
				
			|||||||
      #     home-manager.useGlobalPkgs = true;
 | 
					      #     home-manager.useGlobalPkgs = true;
 | 
				
			||||||
      #     home-manager.useUserPackages = true;
 | 
					      #     home-manager.useUserPackages = true;
 | 
				
			||||||
      #     home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
					      #     home-manager.extraSpecialArgs = extraSpecialArgs;
 | 
				
			||||||
 | 
					      #     home-manager.backupFileExtension = "bak";
 | 
				
			||||||
      #     home-manager.users.${userName}.imports = [
 | 
					      #     home-manager.users.${userName}.imports = [
 | 
				
			||||||
      #       ./home
 | 
					      #       ./home
 | 
				
			||||||
      #     ];
 | 
					      #     ];
 | 
				
			||||||
      #   }
 | 
					      #   }
 | 
				
			||||||
      # ];
 | 
					      # ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # generic non-NixOS Linux machine
 | 
				
			||||||
 | 
					    homeConfigurations."generic" = let
 | 
				
			||||||
 | 
					      hostname = builtins.getEnv "HOSTNAME";
 | 
				
			||||||
 | 
					      pkgs = nixpkgs.legacyPackages.x86_64-linux;
 | 
				
			||||||
 | 
					    in home-manager.lib.homeManagerConfiguration {
 | 
				
			||||||
 | 
					      inherit pkgs;
 | 
				
			||||||
 | 
					      # system = "x86_64-linux";
 | 
				
			||||||
 | 
					      extraSpecialArgs = extraSpecialArgs // { 
 | 
				
			||||||
 | 
					        isNixOS = false; 
 | 
				
			||||||
 | 
					        hostname = hostname;
 | 
				
			||||||
 | 
					        role = "workstation";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      modules = [
 | 
				
			||||||
 | 
					        myOverlays
 | 
				
			||||||
 | 
					        ./home
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
{...}: {
 | 
					{ pkgs, ...}: {
 | 
				
			||||||
  programs.atuin = {
 | 
					  programs.atuin = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    enableFishIntegration = true;
 | 
					    enableFishIntegration = true;
 | 
				
			||||||
 | 
					    package = pkgs.atuinLatest;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,8 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  lib,
 | 
					  lib,
 | 
				
			||||||
 | 
					  isNixOS,
 | 
				
			||||||
 | 
					  role,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  programs.firefox = {
 | 
					  programs.firefox = {
 | 
				
			||||||
@@ -9,7 +11,7 @@
 | 
				
			|||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  programs.chromium = {
 | 
					  programs.chromium = {
 | 
				
			||||||
    enable = pkgs.stdenv.isLinux;
 | 
					    enable = pkgs.stdenv.isLinux && isNixOS;
 | 
				
			||||||
    package = pkgs.ungoogled-chromium.override {
 | 
					    package = pkgs.ungoogled-chromium.override {
 | 
				
			||||||
      enableWideVine = true;
 | 
					      enableWideVine = true;
 | 
				
			||||||
      commandLineArgs = [
 | 
					      commandLineArgs = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,63 +1,57 @@
 | 
				
			|||||||
{
 | 
					{ lib
 | 
				
			||||||
  lib,
 | 
					, pkgs
 | 
				
			||||||
  pkgs,
 | 
					, userName
 | 
				
			||||||
  userName,
 | 
					, userEmail
 | 
				
			||||||
  userEmail,
 | 
					, ghostty
 | 
				
			||||||
  ghostty,
 | 
					, isNixOS ? true
 | 
				
			||||||
  ...
 | 
					, role
 | 
				
			||||||
}: let
 | 
					, ...
 | 
				
			||||||
  # Have a file sturcture that holds all the configuration files that can't be configured by Nix
 | 
					}:
 | 
				
			||||||
  # or maybe I'm too lazy to do anything about it? I dunno
 | 
					let
 | 
				
			||||||
 | 
					  # Have a file structure that holds all the configuration files that can't be configured by Nix
 | 
				
			||||||
  dirs = {
 | 
					  dirs = {
 | 
				
			||||||
    defaults = ../defaults;
 | 
					    defaults = ../defaults;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
in {
 | 
					in
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  # Import sub modules
 | 
					  # Import sub modules
 | 
				
			||||||
  imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty;}) [
 | 
					  imports = [
 | 
				
			||||||
    ./atuin.nix
 | 
					 | 
				
			||||||
    ./shell.nix
 | 
					 | 
				
			||||||
    ./packages
 | 
					    ./packages
 | 
				
			||||||
    ./git.nix
 | 
					 | 
				
			||||||
    ./starship.nix
 | 
					 | 
				
			||||||
    ./eza.nix
 | 
					 | 
				
			||||||
    ./neovim.nix
 | 
					 | 
				
			||||||
    ./direnv.nix
 | 
					 | 
				
			||||||
    ./sway.nix
 | 
					 | 
				
			||||||
    ./terminal.nix
 | 
					 | 
				
			||||||
    ./browser.nix
 | 
					 | 
				
			||||||
    ./zellij.nix
 | 
					 | 
				
			||||||
    ./bat.nix
 | 
					 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Home Manager needs a bit of information about you and the
 | 
					  home = lib.mkMerge [
 | 
				
			||||||
  # paths it should manage.
 | 
					    {
 | 
				
			||||||
  home = {
 | 
					      username = userName;
 | 
				
			||||||
    username = userName;
 | 
					      homeDirectory =
 | 
				
			||||||
    homeDirectory =
 | 
					        if pkgs.stdenv.isDarwin
 | 
				
			||||||
      if pkgs.stdenv.isDarwin
 | 
					        then "/Users/${userName}"
 | 
				
			||||||
      then "/Users/${userName}"
 | 
					        else "/home/${userName}";
 | 
				
			||||||
      else "/home/${userName}";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    sessionVariables = {
 | 
					      stateVersion = "24.11";
 | 
				
			||||||
      XDG_CURRENT_DESKTOP = "sway";
 | 
					    }
 | 
				
			||||||
      XDG_SESSION_TYPE = "wayland";
 | 
					 | 
				
			||||||
      XDG_SESSION_DESKTOP="sway";
 | 
					 | 
				
			||||||
      XDG_CONFIG_HOME = "$HOME/.config";
 | 
					 | 
				
			||||||
      XDG_CACHE_HOME = "$HOME/.cache";
 | 
					 | 
				
			||||||
      XDG_DATA_HOME = "$HOME/.local/share";
 | 
					 | 
				
			||||||
      XDG_STATE_HOME = "$HOME/.local/state";
 | 
					 | 
				
			||||||
      NIXOS_OZONE_WL = "1";
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pointerCursor = lib.mkIf pkgs.stdenv.isLinux {
 | 
					    (lib.mkIf isNixOS {
 | 
				
			||||||
      gtk.enable = true;
 | 
					      sessionVariables = {
 | 
				
			||||||
      package = pkgs.catppuccin-cursors.mochaDark;
 | 
					        XDG_CURRENT_DESKTOP = "sway";
 | 
				
			||||||
      name = "catppuccin-mocha-dark-cursors";
 | 
					        XDG_SESSION_TYPE = "wayland";
 | 
				
			||||||
      size = 22;
 | 
					        XDG_SESSION_DESKTOP = "sway";
 | 
				
			||||||
    };
 | 
					        XDG_CONFIG_HOME = "$HOME/.config";
 | 
				
			||||||
 | 
					        XDG_CACHE_HOME = "$HOME/.cache";
 | 
				
			||||||
 | 
					        XDG_DATA_HOME = "$HOME/.local/share";
 | 
				
			||||||
 | 
					        XDG_STATE_HOME = "$HOME/.local/state";
 | 
				
			||||||
 | 
					        NIXOS_OZONE_WL = "1";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    stateVersion = "24.11";
 | 
					    (lib.mkIf pkgs.stdenv.isLinux {
 | 
				
			||||||
  };
 | 
					      pointerCursor = {
 | 
				
			||||||
 | 
					        gtk.enable = true;
 | 
				
			||||||
 | 
					        package = pkgs.catppuccin-cursors.mochaDark;
 | 
				
			||||||
 | 
					        name = "catppuccin-mocha-dark-cursors";
 | 
				
			||||||
 | 
					        size = 22;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Let Home Manager install and manage itself.
 | 
					  # Let Home Manager install and manage itself.
 | 
				
			||||||
  programs.home-manager.enable = true;
 | 
					  programs.home-manager.enable = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,7 @@
 | 
				
			|||||||
    extraConfig = {
 | 
					    extraConfig = {
 | 
				
			||||||
      init.defaultBranch = "master";
 | 
					      init.defaultBranch = "master";
 | 
				
			||||||
      push.autoSetupRemote = true;
 | 
					      push.autoSetupRemote = true;
 | 
				
			||||||
      pull.merge = true;
 | 
					      pull.rebase = false;
 | 
				
			||||||
      merge.tool = "nvimdiff";
 | 
					      merge.tool = "nvimdiff";
 | 
				
			||||||
      mergetool.keepBackup = false;
 | 
					      mergetool.keepBackup = false;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								home/k9s.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								home/k9s.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }: {
 | 
				
			||||||
 | 
					  programs.k9s = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    package = pkgs.k9sLatest;
 | 
				
			||||||
 | 
					    settings.k9s = {
 | 
				
			||||||
 | 
					      refreshRate = "2s";
 | 
				
			||||||
 | 
					      liveViewAutoRefresh = false;
 | 
				
			||||||
 | 
					      apiServerTimeout = "30s";
 | 
				
			||||||
 | 
					      maxConnRetry = 5;
 | 
				
			||||||
 | 
					      readOnly = true;
 | 
				
			||||||
 | 
					      noExitOnCtrlC = false;
 | 
				
			||||||
 | 
					      portForwardAddress = "localhost";
 | 
				
			||||||
 | 
					      skipLatestRevCheck = false;
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      skin = {
 | 
				
			||||||
 | 
					        catppuccin-mocha = ./defaults/k9s/catppuccin-mocha.yml;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      ui = {
 | 
				
			||||||
 | 
					        skin = "catppuccin-mocha";
 | 
				
			||||||
 | 
					        enableMouse = true;
 | 
				
			||||||
 | 
					        headless = false;
 | 
				
			||||||
 | 
					        logoless = true;
 | 
				
			||||||
 | 
					        crumbsless = false;
 | 
				
			||||||
 | 
					        splashless = true;
 | 
				
			||||||
 | 
					        reactive = false;
 | 
				
			||||||
 | 
					        noIcons = false;
 | 
				
			||||||
 | 
					        defaultsToFullscreen = false;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								home/krew.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								home/krew.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					{ pkgs, lib, ... }:
 | 
				
			||||||
 | 
					with pkgs;
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  plugins = writeText "plugins" ''
 | 
				
			||||||
 | 
					    krew
 | 
				
			||||||
 | 
					    oidc-login
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					in {
 | 
				
			||||||
 | 
					  home.activation.krew = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
 | 
				
			||||||
 | 
					    $DRY_RUN_CMD ${krewfile}/bin/krewfile -command ${krew}/bin/krew -file ${plugins}
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
{...}: {
 | 
					{ pkgs, ... }: {
 | 
				
			||||||
  programs.lazygit = {
 | 
					  programs.lazygit = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    package = pkgs.lazygitLatest;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    settings = {
 | 
					    settings = {
 | 
				
			||||||
      gui.theme = {
 | 
					      gui.theme = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,9 +3,17 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  imports = [
 | 
				
			||||||
    yazi # terminal file manager
 | 
					    ../atuin.nix
 | 
				
			||||||
 | 
					    ../shell.nix
 | 
				
			||||||
 | 
					    ../git.nix
 | 
				
			||||||
 | 
					    ../starship.nix
 | 
				
			||||||
 | 
					    ../eza.nix
 | 
				
			||||||
 | 
					    ../neovim.nix
 | 
				
			||||||
 | 
					    ../bat.nix
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    # archives
 | 
					    # archives
 | 
				
			||||||
    zip
 | 
					    zip
 | 
				
			||||||
    xz
 | 
					    xz
 | 
				
			||||||
@@ -13,40 +21,22 @@
 | 
				
			|||||||
    p7zip
 | 
					    p7zip
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # utils
 | 
					    # utils
 | 
				
			||||||
 | 
					    yazi
 | 
				
			||||||
    tmux
 | 
					    tmux
 | 
				
			||||||
    lazygit
 | 
					 | 
				
			||||||
    bottom
 | 
					    bottom
 | 
				
			||||||
    ripgrep
 | 
					    ripgrep
 | 
				
			||||||
    jq
 | 
					    jq
 | 
				
			||||||
    yq-go
 | 
					    yq-go
 | 
				
			||||||
    fzf
 | 
					    fzf
 | 
				
			||||||
    fh
 | 
					 | 
				
			||||||
    aria2
 | 
					    aria2
 | 
				
			||||||
    yt-dlp
 | 
					    gnupg
 | 
				
			||||||
    obsidian
 | 
					 | 
				
			||||||
    vscode
 | 
					 | 
				
			||||||
    weechat
 | 
					 | 
				
			||||||
    inetutils
 | 
					    inetutils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # misc
 | 
					    # misc
 | 
				
			||||||
    cowsay
 | 
					 | 
				
			||||||
    file
 | 
					    file
 | 
				
			||||||
    which
 | 
					    which
 | 
				
			||||||
    tree
 | 
					    tree
 | 
				
			||||||
    gnutar
 | 
					    gnutar
 | 
				
			||||||
    gnupg
 | 
					 | 
				
			||||||
    zoxide
 | 
					 | 
				
			||||||
    babelfish
 | 
					    babelfish
 | 
				
			||||||
 | 
					 | 
				
			||||||
    # language-specific package managers
 | 
					 | 
				
			||||||
    nodejs
 | 
					 | 
				
			||||||
    cargo
 | 
					 | 
				
			||||||
    python3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # nix specific stuff
 | 
					 | 
				
			||||||
    nixd
 | 
					 | 
				
			||||||
    deadnix
 | 
					 | 
				
			||||||
    alejandra
 | 
					 | 
				
			||||||
    statix
 | 
					 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,9 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  home.packages = lib.mkIf pkgs.stdenv.isDarwin (with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    discord
 | 
					    discord
 | 
				
			||||||
    ollama
 | 
					    ollama
 | 
				
			||||||
  ]);
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,9 @@
 | 
				
			|||||||
 | 
					{ pkgs, lib, role, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  imports =
 | 
				
			||||||
  lib,
 | 
					    [ ./common.nix ]
 | 
				
			||||||
  ...
 | 
					    ++ lib.optional pkgs.stdenv.isDarwin ./darwin.nix
 | 
				
			||||||
}: {
 | 
					    ++ lib.optional pkgs.stdenv.isLinux ./linux.nix
 | 
				
			||||||
  imports = [
 | 
					    ++ lib.optional (role == "workstation") ./workstation.nix
 | 
				
			||||||
    ./common.nix
 | 
					    ++ lib.optional (role == "server") ./server.nix;
 | 
				
			||||||
    ./darwin.nix
 | 
					}
 | 
				
			||||||
    ./linux.nix
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,9 +1,8 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}: {
 | 
				
			||||||
  home.packages = lib.mkIf pkgs.stdenv.isLinux (with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    imv
 | 
					    imv
 | 
				
			||||||
    betterdiscordctl
 | 
					    betterdiscordctl
 | 
				
			||||||
    vesktop
 | 
					    vesktop
 | 
				
			||||||
@@ -16,5 +15,5 @@
 | 
				
			|||||||
    gpu-screen-recorder
 | 
					    gpu-screen-recorder
 | 
				
			||||||
    gpu-screen-recorder-gtk
 | 
					    gpu-screen-recorder-gtk
 | 
				
			||||||
    # ungoogled-chromium
 | 
					    # ungoogled-chromium
 | 
				
			||||||
  ]);
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }: {
 | 
				
			||||||
 | 
					    home.packages = with pkgs; [
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  dirs,
 | 
				
			||||||
 | 
					  userName,
 | 
				
			||||||
 | 
					  userEmail,
 | 
				
			||||||
 | 
					  ghostty,
 | 
				
			||||||
 | 
					  isNixOS,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}: {
 | 
				
			||||||
 | 
					  imports = map (module: import module { inherit lib pkgs dirs userName userEmail ghostty isNixOS; }) [
 | 
				
			||||||
 | 
					    ../terminal.nix
 | 
				
			||||||
 | 
					    ../broswer.nix
 | 
				
			||||||
 | 
					    ../zellij.nix
 | 
				
			||||||
 | 
					    ../lazygit.nix
 | 
				
			||||||
 | 
					    ../k9s.nix
 | 
				
			||||||
 | 
					    ../krew.nix
 | 
				
			||||||
 | 
					    ../direnv.nix
 | 
				
			||||||
 | 
					  ] ++ lib.optional isNixOS [
 | 
				
			||||||
 | 
					    ../sway.nix
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
 | 
					    fh
 | 
				
			||||||
 | 
					    kubectl # kube config is deliberately not included
 | 
				
			||||||
 | 
					    kubectx
 | 
				
			||||||
 | 
					    obsidian
 | 
				
			||||||
 | 
					    vscode
 | 
				
			||||||
 | 
					    yt-dlp
 | 
				
			||||||
 | 
					    weechat
 | 
				
			||||||
 | 
					    nodejs
 | 
				
			||||||
 | 
					    cargo
 | 
				
			||||||
 | 
					    python3
 | 
				
			||||||
 | 
					    nixd
 | 
				
			||||||
 | 
					    deadnix
 | 
				
			||||||
 | 
					    alejandra
 | 
				
			||||||
 | 
					    statix
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{pkgs, ...}: {
 | 
					{pkgs, lib, ...}: {
 | 
				
			||||||
  programs.fish = {
 | 
					  programs.fish = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    # initExtra = ''
 | 
					    # initExtra = ''
 | 
				
			||||||
@@ -43,7 +43,25 @@
 | 
				
			|||||||
            "Can I get a waffle? Can I please get a waffle?" \
 | 
					            "Can I get a waffle? Can I please get a waffle?" \
 | 
				
			||||||
            "I'm lesbian. I thought you were American." \
 | 
					            "I'm lesbian. I thought you were American." \
 | 
				
			||||||
            "You gotta give 'em that 'hawk tuah' and spit on that thang!" \
 | 
					            "You gotta give 'em that 'hawk tuah' and spit on that thang!" \
 | 
				
			||||||
            "We don't do that here..."
 | 
					            "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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          set choose_meme (random)"%"(count $memes)
 | 
					          set choose_meme (random)"%"(count $memes)
 | 
				
			||||||
          set choose_meme $memes[(math $choose_meme"+1")]
 | 
					          set choose_meme $memes[(math $choose_meme"+1")]
 | 
				
			||||||
@@ -52,6 +70,27 @@
 | 
				
			|||||||
        '';
 | 
					        '';
 | 
				
			||||||
        onEvent = "fish_greeting";
 | 
					        onEvent = "fish_greeting";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					    } // lib.optionalAttrs pkgs.stdenv.isLinux {
 | 
				
			||||||
 | 
					      block = {
 | 
				
			||||||
 | 
					        body = ''
 | 
				
			||||||
 | 
					          systemd-inhibit --what=sleep --who="$USER" --why="manual invocation" --mode=block sleep infinity &
 | 
				
			||||||
 | 
					          set -g INHIBIT_PID $last_pid
 | 
				
			||||||
 | 
					          echo "Sleep inhibited. PID: $INHIBIT_PID"
 | 
				
			||||||
 | 
					        '';
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      unblock = {
 | 
				
			||||||
 | 
					        body = ''
 | 
				
			||||||
 | 
					          if set -q INHIBIT_PID
 | 
				
			||||||
 | 
					            kill $INHIBIT_PID 2>/dev/null
 | 
				
			||||||
 | 
					            and echo "Sleep inhibitor removed. PID: $INHIBIT_PID"
 | 
				
			||||||
 | 
					            or echo "Failed to kill process or already terminated."
 | 
				
			||||||
 | 
					            set -e INHIBIT_PID
 | 
				
			||||||
 | 
					          else
 | 
				
			||||||
 | 
					            echo "No active sleep inhibitor found."
 | 
				
			||||||
 | 
					          end
 | 
				
			||||||
 | 
					        '';
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ lib, pkgs, ghostty, ... }: {
 | 
					{ pkgs, ghostty, ... }: {
 | 
				
			||||||
  programs.alacritty = {
 | 
					  programs.alacritty = {
 | 
				
			||||||
    enable = pkgs.stdenv.isLinux;
 | 
					    enable = pkgs.stdenv.isLinux;
 | 
				
			||||||
    settings = {
 | 
					    settings = {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										0
									
								
								lib/checkSystem.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								lib/checkSystem.nix
									
									
									
									
									
										Normal file
									
								
							@@ -8,6 +8,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  # Allow unfree packages
 | 
					  # Allow unfree packages
 | 
				
			||||||
  nixpkgs.config.allowUnfree = true;
 | 
					  nixpkgs.config.allowUnfree = true;
 | 
				
			||||||
 | 
					  nixpkgs.config.permittedInsecurePackages = [
 | 
				
			||||||
 | 
					    "mbedtls-2.28.10"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  nix.package = pkgs.nix;
 | 
					  nix.package = pkgs.nix;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,9 @@
 | 
				
			|||||||
{
 | 
					{ ... }: {
 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}: {
 | 
					 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./core.nix
 | 
					    ./core.nix
 | 
				
			||||||
    ./environment.nix
 | 
					    ./environment.nix
 | 
				
			||||||
    ./fonts.nix
 | 
					    ./fonts.nix
 | 
				
			||||||
 | 
					    # ./overlays.nix
 | 
				
			||||||
    ./users.nix
 | 
					    ./users.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,23 @@
 | 
				
			|||||||
{ lib, pkgs, ... }: {
 | 
					{ lib, pkgs, ... }: {
 | 
				
			||||||
  # Common packages that every system will use
 | 
					 | 
				
			||||||
  environment.systemPackages = with pkgs; [
 | 
					  environment.systemPackages = with pkgs; [
 | 
				
			||||||
    git
 | 
					    git
 | 
				
			||||||
    vim
 | 
					    vim
 | 
				
			||||||
    neovim
 | 
					    neovim
 | 
				
			||||||
    usbutils
 | 
					    usbutils
 | 
				
			||||||
    coreutils
 | 
					    coreutils
 | 
				
			||||||
    lshw
 | 
					 | 
				
			||||||
    systemd
 | 
					 | 
				
			||||||
    dmidecode
 | 
					 | 
				
			||||||
    pciutils
 | 
					    pciutils
 | 
				
			||||||
    nix-ld
 | 
					 | 
				
			||||||
    patchelf
 | 
					    patchelf
 | 
				
			||||||
    htop
 | 
					    htop
 | 
				
			||||||
  ];
 | 
					  ] ++ 
 | 
				
			||||||
 | 
					  lib.optionals pkgs.stdenv.isLinux (with pkgs; [
 | 
				
			||||||
 | 
					    systemd
 | 
				
			||||||
 | 
					    lshw
 | 
				
			||||||
 | 
					    dmidecode
 | 
				
			||||||
 | 
					    nix-ld
 | 
				
			||||||
 | 
					  ]) ++
 | 
				
			||||||
 | 
					  lib.optionals pkgs.stdenv.isDarwin (with pkgs; [
 | 
				
			||||||
 | 
					      # nothing here, yet ;)
 | 
				
			||||||
 | 
					  ]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Common environment variables that every system will use
 | 
					 | 
				
			||||||
  environment.variables.EDITOR = "nvim";
 | 
					  environment.variables.EDITOR = "nvim";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										64
									
								
								modules/common/overlays.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								modules/common/overlays.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
				
			|||||||
 | 
					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"
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  k9sLatest = prev.k9s.overrideAttrs (oldAttrs: rec {
 | 
				
			||||||
 | 
					    version = "0.30.16";
 | 
				
			||||||
 | 
					    src = prev.fetchFromGitHub {
 | 
				
			||||||
 | 
					      owner = "derailed";
 | 
				
			||||||
 | 
					      repo = "k9s";
 | 
				
			||||||
 | 
					      rev = "v${version}";
 | 
				
			||||||
 | 
					      hash = "sha256-1z6r6v3n1p6vd2q6n4pl5q3f7q3q7q1p7j5j1k3l4m5n6o7p8q9r";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    ldflags = [
 | 
				
			||||||
 | 
					      "-X github.com/derailed/k9s/version.Version=${version}"
 | 
				
			||||||
 | 
					      "-X github.com/derailed/k9s/version.BuildSource=nix"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,30 +1,23 @@
 | 
				
			|||||||
 | 
					{ lib, pkgs, userName, hostname, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  userName,
 | 
					 | 
				
			||||||
  hostname,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
} @ args: {
 | 
					 | 
				
			||||||
  networking.hostName = hostname;
 | 
					  networking.hostName = hostname;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  users.users."${userName}" = {
 | 
				
			||||||
 | 
					    home = if pkgs.stdenv.isDarwin 
 | 
				
			||||||
 | 
					           then "/Users/${userName}" 
 | 
				
			||||||
 | 
					           else "/home/${userName}";
 | 
				
			||||||
 | 
					    description = userName;
 | 
				
			||||||
 | 
					  } // lib.optionalAttrs pkgs.stdenv.isLinux {
 | 
				
			||||||
 | 
					    group = "${userName}";
 | 
				
			||||||
 | 
					    isNormalUser = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  users.groups.wyatt = {};
 | 
				
			||||||
 | 
					  nix.settings.trusted-users = [userName];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Don't forget to set a password with ‘passwd’!
 | 
					  security = lib.optionalAttrs pkgs.stdenv.isLinux {
 | 
				
			||||||
  users.users."${userName}" = lib.mkMerge [
 | 
					    sudo.extraRules = [
 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      home =
 | 
					 | 
				
			||||||
        if pkgs.stdenv.isDarwin
 | 
					 | 
				
			||||||
        then "/Users/${userName}"
 | 
					 | 
				
			||||||
        else "/home/${userName}";
 | 
					 | 
				
			||||||
      description = userName;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    (lib.mkIf (pkgs.stdenv.isLinux) {
 | 
					 | 
				
			||||||
      group = "${userName}";
 | 
					 | 
				
			||||||
      isNormalUser = true;
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  security.sudo = {
 | 
					 | 
				
			||||||
    extraRules = [
 | 
					 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        groups = [ "wheel" ];
 | 
					        groups = [ "wheel" ];
 | 
				
			||||||
        commands = [
 | 
					        commands = [
 | 
				
			||||||
@@ -37,7 +30,9 @@
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  users.groups.wyatt = {};
 | 
					  environment = lib.optionalAttrs pkgs.stdenv.isDarwin {
 | 
				
			||||||
 | 
					    etc."sudoers.d/wheel-nopasswd".text = ''
 | 
				
			||||||
  nix.settings.trusted-users = [userName];
 | 
					      %wheel ALL=(ALL:ALL) NOPASSWD: SETENV: ALL
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,7 +18,7 @@
 | 
				
			|||||||
in {
 | 
					in {
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    (import ../../apps/flatpak.nix {
 | 
					    (import ../../apps/flatpak.nix {
 | 
				
			||||||
      inherit lib pkgs flatpakPackages;
 | 
					      inherit lib pkgs flatpakPackages userName;
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
    ../../apps/gaming.nix
 | 
					    ../../apps/gaming.nix
 | 
				
			||||||
    ../../apps/appimage.nix
 | 
					    ../../apps/appimage.nix
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,24 +12,24 @@
 | 
				
			|||||||
    (modulesPath + "/installer/scan/not-detected.nix")
 | 
					    (modulesPath + "/installer/scan/not-detected.nix")
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
 | 
					  boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "ahci" "usb_storage" "usbhid" "sd_mod"];
 | 
				
			||||||
  boot.initrd.kernelModules = [];
 | 
					  boot.initrd.kernelModules = [];
 | 
				
			||||||
  boot.kernelModules = ["kvm-amd"];
 | 
					  boot.kernelModules = ["kvm-amd"];
 | 
				
			||||||
  boot.extraModulePackages = [];
 | 
					  boot.extraModulePackages = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/" = {
 | 
					  fileSystems."/" = {
 | 
				
			||||||
    device = "/dev/disk/by-label/COMPUTER";
 | 
					    device = "/dev/disk/by-uuid/f8f39aae-61d2-437d-a8e1-01066bbb3c5c";
 | 
				
			||||||
    fsType = "xfs";
 | 
					    fsType = "xfs";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/boot" = {
 | 
					  fileSystems."/boot" = {
 | 
				
			||||||
    device = "/dev/disk/by-label/BOOT";
 | 
					    device = "/dev/disk/by-uuid/B72F-087F";
 | 
				
			||||||
    fsType = "vfat";
 | 
					    fsType = "vfat";
 | 
				
			||||||
    options = ["fmask=0022" "dmask=0022"];
 | 
					    options = ["fmask=0022" "dmask=0022"];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  swapDevices = [
 | 
					  swapDevices = [
 | 
				
			||||||
    {device = "/dev/disk/by-label/SWAP";}
 | 
					    {device = "/dev/disk/by-uuid/6d6bcc02-20a9-4ae8-9c1e-5124fb2b2634";}
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
					  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,7 @@
 | 
				
			|||||||
}:
 | 
					}:
 | 
				
			||||||
with lib; {
 | 
					with lib; {
 | 
				
			||||||
  options = {
 | 
					  options = {
 | 
				
			||||||
    security.sudo = {
 | 
					    security.sudoers = {
 | 
				
			||||||
      needsPassword = mkOption {
 | 
					      needsPassword = mkOption {
 | 
				
			||||||
        type = types.bool;
 | 
					        type = types.bool;
 | 
				
			||||||
        default = true;
 | 
					        default = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
with lib; let
 | 
					with lib; let
 | 
				
			||||||
  cfg = config.sound.hardware.focusrite;
 | 
					  cfg = config.sound.hardware.focusrite;
 | 
				
			||||||
in {
 | 
					in {
 | 
				
			||||||
  options.focusrite = {
 | 
					  options.sound.hardware.focusrite = {
 | 
				
			||||||
    enable = mkEnableOption "Focusrite audio interface support";
 | 
					    enable = mkEnableOption "Focusrite audio interface support";
 | 
				
			||||||
    guiSupport = mkOption {
 | 
					    guiSupport = mkOption {
 | 
				
			||||||
      type = types.bool;
 | 
					      type = types.bool;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,16 @@
 | 
				
			|||||||
{pkgs, ...}: {
 | 
					{ lib, pkgs, userName, ...}: {
 | 
				
			||||||
  services.shairport-sync = {
 | 
					  services.shairport-sync = {
 | 
				
			||||||
    enable = pkgs.stdenv.isLinux;
 | 
					    enable = pkgs.stdenv.isLinux;
 | 
				
			||||||
    openFirewall = pkgs.stdenv.isLinux;
 | 
					    openFirewall = pkgs.stdenv.isLinux;
 | 
				
			||||||
    arguments = "-v -o pw";
 | 
					    # arguments = "-v -o pa";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  systemd.services.shairport-sync = {
 | 
				
			||||||
 | 
					    serviceConfig = {
 | 
				
			||||||
 | 
					      User = lib.mkForce "${userName}";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    environment = {
 | 
				
			||||||
 | 
					      XDG_RUNTIME_DIR = "/run/user/1000";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user