Configuration for my NixOS based systems and Home Manager
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

UPGRADE, cleanup

+11 -107
+4 -24
noah-home.nix
··· 1 - { pkgs, lib, ... }: 1 + { pkgs, ... }: 2 2 let 3 - unstable = import <nixos-unstable> { 4 - config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ ]; 5 - }; 3 + unstable = import <nixos-unstable> { }; 6 4 in 7 5 { 8 6 home.packages = with pkgs; [ ··· 94 92 unstable.kraft 95 93 96 94 # Python dev tools 97 - ruff-lsp 98 95 pyright 99 96 python311Packages.python-lsp-server 100 97 python311Packages.python-lsp-ruff ··· 114 111 #package = unstable.fish; 115 112 }; 116 113 programs.neovim = { 117 - package = unstable.neovim-unwrapped; 114 + #package = unstable.neovim-unwrapped; 118 115 enable = true; 119 116 defaultEditor = true; 120 117 withNodeJs = true; ··· 162 159 }; 163 160 164 161 services.ssh-agent.enable = true; 162 + services.mako.enable = false; 165 163 166 164 programs.ssh.extraConfig = builtins.readFile ./ssh/extra; 167 165 services.gpg-agent = { ··· 190 188 recursive = true; 191 189 }; 192 190 193 - xdg.configFile.kitty = { 194 - source = ./kitty; 195 - recursive = true; 196 - }; 197 - 198 191 xdg.configFile.aerc = { 199 192 source = ./aerc; 200 193 recursive = true; 201 194 }; 202 195 203 - xdg.configFile.sway = { 204 - source = ./sway; 205 - recursive = true; 206 - }; 207 - 208 - xdg.configFile.i3 = { 209 - source = ./i3; 210 - recursive = true; 211 - }; 212 - xdg.configFile.i3status = { 213 - source = ./i3status; 214 - recursive = true; 215 - }; 216 196 home.file.".local/bin" = { 217 197 source = ./scripts; 218 198 recursive = true;
+3 -63
packages.nix
··· 1 1 { pkgs, lib, ... }: 2 - let # bash script to let dbus know about important env variables and 3 - # propagate them to relevent services run at the end of sway config 4 - # see 5 - # https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist 6 - # note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts 7 - # some user services to make sure they have the correct environment variables 8 - dbus-sway-environment = pkgs.writeTextFile { 9 - name = "dbus-sway-environment"; 10 - destination = "/bin/dbus-sway-environment"; 11 - executable = true; 12 - 13 - text = '' 14 - dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway 15 - systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr 16 - systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr 17 - ''; 18 - }; 19 - 20 - # currently, there is some friction between sway and gtk: 21 - # https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland 22 - # the suggested way to set gtk settings is with gsettings 23 - # for gsettings to work, we need to tell it where the schemas are 24 - # using the XDG_DATA_DIR environment variable 25 - # run at the end of sway config 26 - configure-gtk = pkgs.writeTextFile { 27 - name = "configure-gtk"; 28 - destination = "/bin/configure-gtk"; 29 - executable = true; 30 - text = let 31 - # TODO: figure out why these bindings exist or where they're used 32 - schema = pkgs.gsettings-desktop-schemas; 33 - datadir = "${schema}/share/gsettings-schemas/${schema.name}"; 34 - in '' 35 - 6 gnome_schema=org.gnome.desktop.interface 36 - gsettings set $gnome_schema gtk-theme 'Dracula' 37 - ''; 38 - }; 39 - in { 40 - 2 + { 41 3 # List packages installed in system profile. To search, run: 42 4 # $ nix search wget 43 5 environment.systemPackages = with pkgs; [ ··· 57 19 vis 58 20 rc 59 21 60 - 61 - # Sway stuff 62 - wdisplays 63 - mako 64 - bemenu 65 - wl-clipboard 66 - slurp 67 - grim 68 - swayidle 69 - swaylock 70 - adwaita-icon-theme 71 - dracula-theme 72 - glib 73 22 xdg-utils 74 - wayland 75 - configure-gtk 76 - dbus-sway-environment 77 - dbus 78 23 ]; 79 24 80 25 # Fix dynamically linked libraries for unpackaged binaries ··· 90 35 }; 91 36 92 37 # Logseq uses an ancient version of Electron, so we enable that 93 - nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ]; 38 + #nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ]; 94 39 95 40 # Whitelist some unfree packages 96 41 nixpkgs.config.allowUnfreePredicate = pkg: 97 - builtins.elem (lib.getName pkg) [ 98 - "discord" 99 - "spotify" 100 - "obsidian" 101 - "tailscale" 102 - ]; 42 + builtins.elem (lib.getName pkg) [ ]; 103 43 }
+2 -18
services.nix
··· 1 1 { ... }: { 2 2 # Some programs need SUID wrappers, can be configured further or are 3 3 # started in user sessions. 4 - # programs.mtr.enable = true; 5 - programs.gnupg.agent = { 6 - enable = true; 7 - enableSSHSupport = false; 8 - }; 4 + programs.mtr.enable = true; 9 5 10 6 # Fish shell, the best 11 7 programs.fish.enable = true; 12 8 13 9 # List services that you want to enable: 14 10 15 - # Enable the OpenSSH daemon. 16 - services.openssh.enable = true; 17 - 18 - # This option is for enabling the bolt daemon for managing Thunderbolt/USB4 Devices. 19 - services.hardware.bolt.enable = true; 20 - 21 - # Tailscale 22 - services.tailscale = { 23 - enable = true; 24 - useRoutingFeatures = "client"; 25 - }; 26 - 27 11 # Containers and VMs 28 12 virtualisation = { 29 13 podman = { 30 - enable = true; 14 + enable = false; 31 15 dockerCompat = true; 32 16 defaultNetwork.settings.dns_enabled = true; 33 17 };
+2 -2
users.nix
··· 1 1 { pkgs, lib, ... }: 2 2 let 3 3 home-manager = builtins.fetchTarball 4 - "https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz"; 4 + "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz"; 5 5 in 6 6 { 7 7 ··· 27 27 name = "chiefnoah.keys"; 28 28 # Update this with: 29 29 # `curl https://meta.sr.ht/~chiefnoah.keys | sha256sum` 30 - sha256 = "19x8lim69kd06spqxjs7ril68izrqzkgqdvn45z2vkqgkw0jjzxh"; 30 + sha256 = "b07f29019f0fcf2d7e217637fce6c7f9476468cc47cb8eaf36a0cd646aa4a8a7"; 31 31 })); 32 32 }; 33 33 users.groups.nas.gid = 1001;