Nix Flakes configuration for MacOS, NixOS and WSL
0
fork

Configure Feed

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

feat(njord): add module for aerospace wm and switch to it

+174 -36
+12 -12
flake.lock
··· 8 8 "nixpkgs": "nixpkgs" 9 9 }, 10 10 "locked": { 11 - "lastModified": 1731678403, 12 - "narHash": "sha256-kcsXMNjQQK3hgUBaH9JoyHyESRvDhFV7L0GqVha3C40=", 11 + "lastModified": 1731866540, 12 + "narHash": "sha256-wAz/S5GLm+9Vp0kmUPsva3Mxp+VUnbEUZ8aBM1aEhhY=", 13 13 "owner": "chaotic-cx", 14 14 "repo": "nyx", 15 - "rev": "d9d59a2819215227199b5eeab06a7e5fb56681f7", 15 + "rev": "0857914b69d90ba758e614298452636c6fdc9c7c", 16 16 "type": "github" 17 17 }, 18 18 "original": { ··· 29 29 ] 30 30 }, 31 31 "locked": { 32 - "lastModified": 1731809072, 33 - "narHash": "sha256-pOsDJQR0imnFLfpvTmRpHcP0tflyxtP/QIzokrKSP8U=", 32 + "lastModified": 1731885500, 33 + "narHash": "sha256-ZrztYfSOS33J+ewq5alBOSdnIyZ0/sr1iy7FyBe9zIg=", 34 34 "owner": "LnL7", 35 35 "repo": "nix-darwin", 36 - "rev": "34588d57cfc41c6953c54c93b6b685cab3b548ee", 36 + "rev": "c60b5c924c6188a0b3ca2e139ead3d0f92ae5db5", 37 37 "type": "github" 38 38 }, 39 39 "original": { ··· 171 171 ] 172 172 }, 173 173 "locked": { 174 - "lastModified": 1731832479, 175 - "narHash": "sha256-icDDuYwJ0avTMZTxe1qyU/Baht5JOqw4pb5mWpR+hT0=", 174 + "lastModified": 1731887066, 175 + "narHash": "sha256-uw7K/RsYioJicV79Nl39yjtfhdfTDU2aRxnBgvFhkZ8=", 176 176 "owner": "nix-community", 177 177 "repo": "home-manager", 178 - "rev": "5056a1cf0ce7c2a08ab50713b6c4af77975f6111", 178 + "rev": "f3a2ff69586f3a54b461526e5702b1a2f81e740a", 179 179 "type": "github" 180 180 }, 181 181 "original": { ··· 253 253 }, 254 254 "nixpkgs": { 255 255 "locked": { 256 - "lastModified": 1731319897, 257 - "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", 256 + "lastModified": 1731676054, 257 + "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", 258 258 "owner": "NixOS", 259 259 "repo": "nixpkgs", 260 - "rev": "dc460ec76cbff0e66e269457d7b728432263166c", 260 + "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", 261 261 "type": "github" 262 262 }, 263 263 "original": {
+1 -1
flake.nix
··· 48 48 ]; 49 49 50 50 homes.modules = with inputs; [ 51 - chaotic.homeManagerModules.default 51 + # inputs.chaotic.homeManagerModules.default 52 52 ]; 53 53 54 54 systems.hosts.vali.modules = with inputs; [
+1 -1
homes/aarch64-darwin/cosmeak@njord/default.nix
··· 11 11 12 12 # You do not need to change this if you're reading this in the future. 13 13 # Don't ever change this after the first build. Don't ask questions. 14 - # home.stateVersion = "24.05"; 14 + home.stateVersion = "24.05"; 15 15 }
+17
modules/darwin/desktop/aerospace/default.nix
··· 1 + { lib, pkgs, inputs, namespace, system, target, format, virtual, systems, config, ... }: 2 + with lib; 3 + with lib.${namespace}; 4 + let 5 + cfg = config.${namespace}.desktop.aerospace; 6 + in 7 + { 8 + options.${namespace}.desktop.aerospace = with types; { 9 + enable = mkBoolOpt false "Wheter or not to enable aerospace WM."; 10 + }; 11 + 12 + config = mkIf cfg.enable { 13 + homebrew.casks = [ "nikitabobko/tap/aerospace" ]; 14 + # TODO add skhd, sketchybar and yankyborder 15 + asgard.home.file.".config/aerospace/aerospace.toml".source = ./i3-like-default.toml; 16 + }; 17 + }
+85
modules/darwin/desktop/aerospace/i3-like-default.toml
··· 1 + # Reference: https://github.com/i3/i3/blob/next/etc/config 2 + 3 + # i3 doesn't have "normalizations" feature that why we disable them here. 4 + # But the feature is very helpful. 5 + # Normalizations eliminate all sorts of weird tree configurations that don't make sense. 6 + # Give normalizations a chance and enable them back. 7 + enable-normalization-flatten-containers = false 8 + enable-normalization-opposite-orientation-for-nested-containers = false 9 + 10 + # Mouse follows focus when focused monitor changes 11 + on-focused-monitor-changed = ['move-mouse monitor-lazy-center'] 12 + 13 + [mode.main.binding] 14 + # See: https://nikitabobko.github.io/AeroSpace/goodness#open-a-new-window-with-applescript 15 + alt-enter = '''exec-and-forget osascript -e ' 16 + tell application "Terminal" 17 + do script 18 + activate 19 + end tell' 20 + ''' 21 + 22 + # i3 wraps focus by default 23 + alt-j = 'focus --boundaries-action wrap-around-the-workspace left' 24 + alt-k = 'focus --boundaries-action wrap-around-the-workspace down' 25 + alt-l = 'focus --boundaries-action wrap-around-the-workspace up' 26 + alt-semicolon = 'focus --boundaries-action wrap-around-the-workspace right' 27 + 28 + alt-shift-j = 'move left' 29 + alt-shift-k = 'move down' 30 + alt-shift-l = 'move up' 31 + alt-shift-semicolon = 'move right' 32 + 33 + # Consider using 'join-with' command as a 'split' replacement if you want to enable normalizations 34 + alt-h = 'split horizontal' 35 + alt-v = 'split vertical' 36 + 37 + alt-f = 'fullscreen' 38 + 39 + alt-s = 'layout v_accordion' # 'layout stacking' in i3 40 + alt-w = 'layout h_accordion' # 'layout tabbed' in i3 41 + alt-e = 'layout tiles horizontal vertical' # 'layout toggle split' in i3 42 + 43 + alt-shift-space = 'layout floating tiling' # 'floating toggle' in i3 44 + 45 + # Not supported, because this command is redundant in AeroSpace mental model. 46 + # See: https://nikitabobko.github.io/AeroSpace/guide#floating-windows 47 + #alt-space = 'focus toggle_tiling_floating' 48 + 49 + # `focus parent`/`focus child` are not yet supported, and it's not clear whether they 50 + # should be supported at all https://github.com/nikitabobko/AeroSpace/issues/5 51 + # alt-a = 'focus parent' 52 + 53 + alt-1 = 'workspace 1' 54 + alt-2 = 'workspace 2' 55 + alt-3 = 'workspace 3' 56 + alt-4 = 'workspace 4' 57 + alt-5 = 'workspace 5' 58 + alt-6 = 'workspace 6' 59 + alt-7 = 'workspace 7' 60 + alt-8 = 'workspace 8' 61 + alt-9 = 'workspace 9' 62 + alt-0 = 'workspace 10' 63 + 64 + alt-shift-1 = 'move-node-to-workspace 1' 65 + alt-shift-2 = 'move-node-to-workspace 2' 66 + alt-shift-3 = 'move-node-to-workspace 3' 67 + alt-shift-4 = 'move-node-to-workspace 4' 68 + alt-shift-5 = 'move-node-to-workspace 5' 69 + alt-shift-6 = 'move-node-to-workspace 6' 70 + alt-shift-7 = 'move-node-to-workspace 7' 71 + alt-shift-8 = 'move-node-to-workspace 8' 72 + alt-shift-9 = 'move-node-to-workspace 9' 73 + alt-shift-0 = 'move-node-to-workspace 10' 74 + 75 + alt-shift-c = 'reload-config' 76 + 77 + alt-r = 'mode resize' 78 + 79 + [mode.resize.binding] 80 + h = 'resize width -50' 81 + j = 'resize height +50' 82 + k = 'resize height -50' 83 + l = 'resize width +50' 84 + enter = 'mode main' 85 + esc = 'mode main'
+15
modules/darwin/desktop/amethyst/default.nix
··· 1 + { lib, pkgs, inputs, namespace, system, target, format, virtual, systems, config, ... }: 2 + with lib; 3 + with lib.${namespace}; 4 + let 5 + cfg = config.${namespace}.desktop.amethyst; 6 + in 7 + { 8 + options.${namespace}.desktop.amethyst = with types; { 9 + enable = mkBoolOpt false "Wheter or not to enable Amethyst WM."; 10 + }; 11 + 12 + config = mkIf cfg.enable { 13 + homebrew.casks = [ "amethyst" ]; 14 + }; 15 + }
+28
modules/darwin/home/default.nix
··· 1 + { options, config, lib, inputs, namespace, ... }: 2 + with lib; 3 + with lib.${namespace}; 4 + { 5 + options.${namespace}.home = with types; { 6 + file = mkOpt attrs {} "A set of files to be managed by home-manager's <option>home.file</option>."; 7 + configFile = mkOpt attrs {} "A set of files to be managed by home-manager's <option>xdg.configFile</option>."; 8 + programs = mkOpt attrs {} "Programs to be managed by home-manager."; 9 + extraOptions = mkOpt attrs {} "Options to pass directly to home-manager."; 10 + }; 11 + 12 + config = { 13 + asgard.home.extraOptions = { 14 + home.stateVersion = mkDefault "24.05"; 15 + home.file = mkAliasDefinitions options.${namespace}.home.file; 16 + xdg.enable = true; 17 + xdg.configFile = mkAliasDefinitions options.${namespace}.home.configFile; 18 + programs = mkAliasDefinitions options.${namespace}.home.programs; 19 + }; 20 + 21 + snowfallorg.users.cosmeak.home.config = mkAliasDefinitions options.${namespace}.home.extraOptions; 22 + 23 + home-manager = { 24 + useUserPackages = true; 25 + useGlobalPkgs = true; 26 + }; 27 + }; 28 + }
+15 -22
systems/aarch64-darwin/njord/configuration.nix systems/aarch64-darwin/njord/default.nix
··· 1 - { self, inputs, outputs, pkgs, ... }: 1 + { lib, pkgs, inputs, namespace, system, target, format, virtual, systems, config, ... }: 2 + with lib; 3 + with lib.${namespace}; 2 4 { 3 - # imports = [ 4 - # ./../../modules/darwin/gc.nix 5 - # ]; 6 - 7 - # Nixpkgs config 8 - nixpkgs.config = { 9 - allowUnfree = true; 10 - allowUnsecure = false; 11 - allowBroken = true; 12 - allowUnsupportedSystem = true; 13 - }; 14 - # The platform the configuration will be used on. 15 - nixpkgs.hostPlatform = "aarch64-darwin"; 16 - 17 - # Enable flakes 18 - nix.settings.experimental-features = [ "nix-command" "flakes" ]; 19 - 20 - # Use nix as a daemon 21 - services.nix-daemon.enable = true; 5 + asgard.desktop.aerospace.enable = true; 22 6 23 7 # Enable sudo via TouchID 24 8 security.pam.enableSudoTouchIdAuth = true; ··· 107 91 php83 108 92 php83Packages.composer 109 93 nodejs_20 94 + python310 110 95 111 96 # CLI 112 97 neovim ··· 165 150 "balenaetcher" 166 151 167 152 # Utilities 168 - "amethyst" 169 153 # "sketchybar" 170 154 "stats" 171 155 ··· 192 176 ''; 193 177 }; 194 178 179 + # The platform the configuration will be used on. 180 + nixpkgs.hostPlatform = "aarch64-darwin"; 181 + 182 + # Enable flakes 183 + nix.settings.experimental-features = [ "nix-command" "flakes" ]; 184 + 185 + # Use nix as a daemon 186 + services.nix-daemon.enable = true; 187 + 195 188 # Set Git commit hash for darwin-version. 196 - system.configurationRevision = outputs.rev or outputs.dirtyRev or null; 189 + # system.configurationRevision = self.rev or self.dirtyRev or null; 197 190 198 191 # Used for backwards compatibility, please read the changelog before changing. 199 192 # $ darwin-rebuild changelog
systems/x86_64-bsd/hvedrung/default.nix

This is a binary file and will not be displayed.