Compare commits
	
		
			1 Commits
		
	
	
		
			50c62a4d3f
			...
			shell-inhi
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 4feb5b89e8 | 
@@ -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 1920 0 res 1920x1080@60Hz
 | 
					output DP-3 pos 3840 0 res 1920x1080@59Hz
 | 
				
			||||||
output HDMI-A-1 pos 0 0 res 1920x1080@60Hz
 | 
					output HDMI-A-1 pos 0 0 res 1920x1080@59Hz
 | 
				
			||||||
output DP-2 pos 3840 0 res 1920x1080@60Hz
 | 
					output DP-2 pos 1920 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-3
 | 
					workspace 1 output DP-2
 | 
				
			||||||
workspace 2 output DP-3
 | 
					workspace 2 output DP-2
 | 
				
			||||||
workspace 4 output DP-3
 | 
					workspace 4 output DP-2
 | 
				
			||||||
workspace 5 output DP-3
 | 
					workspace 5 output DP-2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 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-2
 | 
					workspace 6 output DP-3
 | 
				
			||||||
workspace 7 output DP-2
 | 
					workspace 7 output DP-3
 | 
				
			||||||
workspace 8 output DP-2
 | 
					workspace 8 output DP-3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 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
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										56
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										56
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -7,11 +7,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1757432263,
 | 
					        "lastModified": 1749744770,
 | 
				
			||||||
        "narHash": "sha256-qHn+/0+IOz5cG68BZUwL9BV3EO/e9eNKCjH3+N7wMdI=",
 | 
					        "narHash": "sha256-MEM9XXHgBF/Cyv1RES1t6gqAX7/tvayBC1r/KPyK1ls=",
 | 
				
			||||||
        "owner": "lnl7",
 | 
					        "owner": "lnl7",
 | 
				
			||||||
        "repo": "nix-darwin",
 | 
					        "repo": "nix-darwin",
 | 
				
			||||||
        "rev": "1fef4404de4d1596aa5ab2bd68078370e1b9dcdb",
 | 
					        "rev": "536f951efb1ccda9b968e3c9dee39fbeb6d3fdeb",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -64,11 +64,11 @@
 | 
				
			|||||||
        "zon2nix": "zon2nix"
 | 
					        "zon2nix": "zon2nix"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1759330332,
 | 
					        "lastModified": 1754941490,
 | 
				
			||||||
        "narHash": "sha256-ZKyOgOOm9Itjbc5xi89xMtw+cnnOFfl79zndPMTzKpU=",
 | 
					        "narHash": "sha256-2AJf0q4u1zakqjr0y4dCyqzdDSil8P5m2YpZxAAzJJw=",
 | 
				
			||||||
        "owner": "ghostty-org",
 | 
					        "owner": "ghostty-org",
 | 
				
			||||||
        "repo": "ghostty",
 | 
					        "repo": "ghostty",
 | 
				
			||||||
        "rev": "a5aff0e347b0016e2735d4ec4b4cdca96b5438d1",
 | 
					        "rev": "5bf632e9cc0e77a578bad983b0cbdf0451ce87d4",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -84,11 +84,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1758463745,
 | 
					        "lastModified": 1753592768,
 | 
				
			||||||
        "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
 | 
					        "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "home-manager",
 | 
					        "repo": "home-manager",
 | 
				
			||||||
        "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
 | 
					        "rev": "fc3add429f21450359369af74c2375cb34a2d204",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -129,24 +129,11 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs_2": {
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1758360447,
 | 
					        "lastModified": 1754767907,
 | 
				
			||||||
        "narHash": "sha256-XDY3A83bclygHDtesRoaRTafUd80Q30D/Daf9KSG6bs=",
 | 
					        "narHash": "sha256-8OnUzRQZkqtUol9vuUuQC30hzpMreKptNyET2T9lB6g=",
 | 
				
			||||||
        "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": 1759281824,
 | 
					 | 
				
			||||||
        "narHash": "sha256-FIBE1qXv9TKvSNwst6FumyHwCRH3BlWDpfsnqRDCll0=",
 | 
					 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "5b5be50345d4113d04ba58c444348849f5585b4a",
 | 
					        "rev": "c5f08b62ed75415439d48152c2a784e36909b1bc",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -162,7 +149,7 @@
 | 
				
			|||||||
        "ghostty": "ghostty",
 | 
					        "ghostty": "ghostty",
 | 
				
			||||||
        "home-manager": "home-manager",
 | 
					        "home-manager": "home-manager",
 | 
				
			||||||
        "nix-flatpak": "nix-flatpak",
 | 
					        "nix-flatpak": "nix-flatpak",
 | 
				
			||||||
        "nixpkgs": "nixpkgs_3"
 | 
					        "nixpkgs": "nixpkgs_2"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "systems": {
 | 
					    "systems": {
 | 
				
			||||||
@@ -211,20 +198,27 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "zon2nix": {
 | 
					    "zon2nix": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "nixpkgs": "nixpkgs_2"
 | 
					        "flake-utils": [
 | 
				
			||||||
 | 
					          "ghostty",
 | 
				
			||||||
 | 
					          "flake-utils"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "ghostty",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1758405547,
 | 
					        "lastModified": 1742104771,
 | 
				
			||||||
        "narHash": "sha256-WgaDgvIZMPvlZcZrpPMjkaalTBnGF2lTG+62znXctWM=",
 | 
					        "narHash": "sha256-LhidlyEA9MP8jGe1rEnyjGFCzLLgCdDpYeWggibayr0=",
 | 
				
			||||||
        "owner": "jcollie",
 | 
					        "owner": "jcollie",
 | 
				
			||||||
        "repo": "zon2nix",
 | 
					        "repo": "zon2nix",
 | 
				
			||||||
        "rev": "bf983aa90ff169372b9fa8c02e57ea75e0b42245",
 | 
					        "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
        "owner": "jcollie",
 | 
					        "owner": "jcollie",
 | 
				
			||||||
        "repo": "zon2nix",
 | 
					        "repo": "zon2nix",
 | 
				
			||||||
        "rev": "bf983aa90ff169372b9fa8c02e57ea75e0b42245",
 | 
					        "rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										217
									
								
								home/shell.nix
									
									
									
									
									
								
							
							
						
						
									
										217
									
								
								home/shell.nix
									
									
									
									
									
								
							@@ -1,106 +1,125 @@
 | 
				
			|||||||
{pkgs, lib, ...}: {
 | 
					{
 | 
				
			||||||
  programs.fish = {
 | 
					  lib,
 | 
				
			||||||
    enable = true;
 | 
					  pkgs,
 | 
				
			||||||
    # initExtra = ''
 | 
					  userName,
 | 
				
			||||||
    #   export PATH="$PATH:$HOME/bin:$HOME/.local/bin:$HOME/go/bin"
 | 
					  ...
 | 
				
			||||||
    # '';
 | 
					}: {
 | 
				
			||||||
 | 
					  programs = {
 | 
				
			||||||
 | 
					    fish = {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      shellAliases = {
 | 
				
			||||||
 | 
					        # ls aliases
 | 
				
			||||||
 | 
					        ls = "eza --color";
 | 
				
			||||||
 | 
					        la = "eza -l -all --color";
 | 
				
			||||||
 | 
					        ll = "eza -l --color";
 | 
				
			||||||
 | 
					        lt = "eza -l --color --git";
 | 
				
			||||||
 | 
					        # lazygit alias
 | 
				
			||||||
 | 
					        lg = "lazygit";
 | 
				
			||||||
 | 
					        # cat, less, more alias
 | 
				
			||||||
 | 
					        cat = "bat";
 | 
				
			||||||
 | 
					        less = "bat";
 | 
				
			||||||
 | 
					        more = "bat";
 | 
				
			||||||
 | 
					        # top alias
 | 
				
			||||||
 | 
					        top = "btm";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      functions =
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          fish_greeting = {
 | 
				
			||||||
 | 
					            body = ''
 | 
				
			||||||
 | 
					              set memes \
 | 
				
			||||||
 | 
					                "Crazy? I was crazy once. They locked me in a room. A rubber room. A rubber room with rats. And rats make me crazy." \
 | 
				
			||||||
 | 
					                "Daddy, chill!" \
 | 
				
			||||||
 | 
					                "What the hell is even that?!" \
 | 
				
			||||||
 | 
					                "Road work ahead? Yeah, I sure hope it does!" \
 | 
				
			||||||
 | 
					                "Look at all those chickens!" \
 | 
				
			||||||
 | 
					                "I smell like beef" \
 | 
				
			||||||
 | 
					                "Say, Coloardo - I'M A GIRAFFE" \
 | 
				
			||||||
 | 
					                "I didn't get no sleep cause of y'all, y'all not gone get any sleep cause of me!" \
 | 
				
			||||||
 | 
					                "This is the dollar store, how good can it be?" \
 | 
				
			||||||
 | 
					                "That was legitness" \
 | 
				
			||||||
 | 
					                "Deez nuts" \
 | 
				
			||||||
 | 
					                "I wanna be a cowboy baby" \
 | 
				
			||||||
 | 
					                "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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    shellAliases = {
 | 
					              set choose_meme (random)"%"(count $memes)
 | 
				
			||||||
      # ls aliases
 | 
					              set choose_meme $memes[(math $choose_meme"+1")]
 | 
				
			||||||
      ls = "eza --color";
 | 
					              printf (set_color F90)"%s\n" $choose_meme
 | 
				
			||||||
      la = "eza -l -all --color";
 | 
					            '';
 | 
				
			||||||
      ll = "eza -l --color";
 | 
					            # onEvent = "fish_greeting";
 | 
				
			||||||
      lt = "eza -l --color --git";
 | 
					          };
 | 
				
			||||||
 | 
					        } // (lib.mkIf pkgs.stdenv.isLinux {
 | 
				
			||||||
      # lazygit alias
 | 
					          block = {
 | 
				
			||||||
      lg = "lazygit";
 | 
					            body = ''
 | 
				
			||||||
 | 
					              echo "Starting systemd-inhibit..."
 | 
				
			||||||
      # cat, less, more alias
 | 
					              set inhibit_pid_file /tmp/fish_inhibit_pid_(whoami)
 | 
				
			||||||
      cat = "bat";
 | 
					              bash -c 'systemd-inhibit --no-ask-password --what=idle --who="'${userName}'" --why="manual invocation" sh & echo $! > '"$inhibit_pid_file"' && disown'
 | 
				
			||||||
      less = "bat";
 | 
					              if test -f $inhibit_pid_file
 | 
				
			||||||
      more = "bat";
 | 
					                set -g INHIBIT_PID (cat $inhibit_pid_file)
 | 
				
			||||||
 | 
					                echo "Inhibit process started with PID: $INHIBIT_PID"
 | 
				
			||||||
      # top alias
 | 
					              else
 | 
				
			||||||
      top = "btm";
 | 
					                echo "Failed to start inhibit process"
 | 
				
			||||||
 | 
					                return 1
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					            '';
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					          unblock = {
 | 
				
			||||||
 | 
					            body = ''
 | 
				
			||||||
 | 
					              set inhibit_pid_file /tmp/fish_inhibit_pid_(whoami)
 | 
				
			||||||
 | 
					              if test -f $inhibit_pid_file
 | 
				
			||||||
 | 
					                set INHIBIT_PID (cat $inhibit_pid_file)
 | 
				
			||||||
 | 
					                echo "Killing inhibit process: $INHIBIT_PID"
 | 
				
			||||||
 | 
					                kill -SIGTERM $INHIBIT_PID 2>/dev/null; or kill -SIGKILL $INHIBIT_PID 2>/dev/null
 | 
				
			||||||
 | 
					                rm -f $inhibit_pid_file
 | 
				
			||||||
 | 
					                set -e INHIBIT_PID
 | 
				
			||||||
 | 
					                echo "Inhibit process terminated"
 | 
				
			||||||
 | 
					              else
 | 
				
			||||||
 | 
					                echo "No inhibit process file found"
 | 
				
			||||||
 | 
					              end
 | 
				
			||||||
 | 
					            '';
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    zsh = {
 | 
				
			||||||
    functions = {
 | 
					      enable = true;
 | 
				
			||||||
      fish_greeting = {
 | 
					      initContent = ''
 | 
				
			||||||
        body = ''
 | 
					        if [[ -z "$BASH_EXECUTION_STRING" ]]; then
 | 
				
			||||||
          set memes \
 | 
					          if [[ -n "$ZSH_VERSION" ]]; then
 | 
				
			||||||
            "Crazy? I was crazy once. They locked me in a room. A rubber room. A rubber room with rats. And rats make me crazy." \
 | 
					            LOGIN_OPTION="--login"
 | 
				
			||||||
            "Daddy, chill!" \
 | 
					 | 
				
			||||||
            "What the hell is even that?!" \
 | 
					 | 
				
			||||||
            "Road work ahead? Yeah, I sure hope it does!" \
 | 
					 | 
				
			||||||
            "Look at all those chickens!" \
 | 
					 | 
				
			||||||
            "I smell like beef" \
 | 
					 | 
				
			||||||
            "Say, Coloardo - I'M A GIRAFFE" \
 | 
					 | 
				
			||||||
            "I didn't get no sleep cause of y'all, y'all not gone get any sleep cause of me!" \
 | 
					 | 
				
			||||||
            "This is the dollar store, how good can it be?" \
 | 
					 | 
				
			||||||
            "That was legitness" \
 | 
					 | 
				
			||||||
            "Deez nuts" \
 | 
					 | 
				
			||||||
            "I wanna be a cowboy baby" \
 | 
					 | 
				
			||||||
            "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..."
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          set choose_meme (random)"%"(count $memes)
 | 
					 | 
				
			||||||
          set choose_meme $memes[(math $choose_meme"+1")]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          printf (set_color F90)"%s\n" $choose_meme
 | 
					 | 
				
			||||||
        '';
 | 
					 | 
				
			||||||
        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
 | 
					          else
 | 
				
			||||||
            echo "No active sleep inhibitor found."
 | 
					            LOGIN_OPTION=""
 | 
				
			||||||
          end
 | 
					          fi
 | 
				
			||||||
        '';
 | 
					          exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
 | 
				
			||||||
      };
 | 
					        fi
 | 
				
			||||||
 | 
					      '';
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					    bash = {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
  programs.zsh = {
 | 
					      initExtra = ''
 | 
				
			||||||
    enable = true;
 | 
					        if [[ -z "$BASH_EXECUTION_STRING" ]]; then
 | 
				
			||||||
    initContent = ''
 | 
					          if [[ -n "$ZSH_VERSION" ]]; then
 | 
				
			||||||
      if [[ -z "$BASH_EXECUTION_STRING" ]]; then
 | 
					            LOGIN_OPTION="--login"
 | 
				
			||||||
        if [[ -n "$ZSH_VERSION" ]]; then
 | 
					          else
 | 
				
			||||||
          LOGIN_OPTION="--login"
 | 
					            LOGIN_OPTION=""
 | 
				
			||||||
        else
 | 
					          fi
 | 
				
			||||||
          LOGIN_OPTION=""
 | 
					          exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
 | 
					      '';
 | 
				
			||||||
      fi
 | 
					    };
 | 
				
			||||||
    '';
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  programs.bash = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    initExtra = ''
 | 
					 | 
				
			||||||
      if [[ -z "$BASH_EXECUTION_STRING" ]]; then
 | 
					 | 
				
			||||||
        if [[ -n "$ZSH_VERSION" ]]; then
 | 
					 | 
				
			||||||
          LOGIN_OPTION="--login"
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
          LOGIN_OPTION=""
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
        exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
 | 
					 | 
				
			||||||
      fi
 | 
					 | 
				
			||||||
    '';
 | 
					 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,23 +1,20 @@
 | 
				
			|||||||
{ 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";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,23 +1,30 @@
 | 
				
			|||||||
{ 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];
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  security = lib.optionalAttrs pkgs.stdenv.isLinux {
 | 
					  # Don't forget to set a password with ‘passwd’!
 | 
				
			||||||
    sudo.extraRules = [
 | 
					  users.users."${userName}" = lib.mkMerge [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      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 = [
 | 
				
			||||||
@@ -30,9 +37,7 @@
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  environment = lib.optionalAttrs pkgs.stdenv.isDarwin {
 | 
					  users.groups.wyatt = {};
 | 
				
			||||||
    etc."sudoers.d/wheel-nopasswd".text = ''
 | 
					
 | 
				
			||||||
      %wheel ALL=(ALL:ALL) NOPASSWD: SETENV: ALL
 | 
					  nix.settings.trusted-users = [userName];
 | 
				
			||||||
    '';
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,24 +12,24 @@
 | 
				
			|||||||
    (modulesPath + "/installer/scan/not-detected.nix")
 | 
					    (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.initrd.kernelModules = [];
 | 
				
			||||||
  boot.kernelModules = ["kvm-amd"];
 | 
					  boot.kernelModules = ["kvm-amd"];
 | 
				
			||||||
  boot.extraModulePackages = [];
 | 
					  boot.extraModulePackages = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/" = {
 | 
					  fileSystems."/" = {
 | 
				
			||||||
    device = "/dev/disk/by-uuid/f8f39aae-61d2-437d-a8e1-01066bbb3c5c";
 | 
					    device = "/dev/disk/by-label/COMPUTER";
 | 
				
			||||||
    fsType = "xfs";
 | 
					    fsType = "xfs";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/boot" = {
 | 
					  fileSystems."/boot" = {
 | 
				
			||||||
    device = "/dev/disk/by-uuid/B72F-087F";
 | 
					    device = "/dev/disk/by-label/BOOT";
 | 
				
			||||||
    fsType = "vfat";
 | 
					    fsType = "vfat";
 | 
				
			||||||
    options = ["fmask=0022" "dmask=0022"];
 | 
					    options = ["fmask=0022" "dmask=0022"];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  swapDevices = [
 | 
					  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
 | 
					  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,7 @@
 | 
				
			|||||||
}:
 | 
					}:
 | 
				
			||||||
with lib; {
 | 
					with lib; {
 | 
				
			||||||
  options = {
 | 
					  options = {
 | 
				
			||||||
    security.sudoers = {
 | 
					    security.sudo = {
 | 
				
			||||||
      needsPassword = mkOption {
 | 
					      needsPassword = mkOption {
 | 
				
			||||||
        type = types.bool;
 | 
					        type = types.bool;
 | 
				
			||||||
        default = true;
 | 
					        default = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,6 @@
 | 
				
			|||||||
  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 pa";
 | 
					    arguments = "-v -o pw";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user