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: come back to simple config | wip: neovim

authored by

cosmeak and committed by
GitHub
f9530255 379c8130

+965 -916
+77 -104
flake.lock
··· 7 7 ] 8 8 }, 9 9 "locked": { 10 - "lastModified": 1732420287, 11 - "narHash": "sha256-CzvYF4x6jUh/+NEEIFrIY5t1W/N3IA2bNZJiMXu9GTo=", 10 + "lastModified": 1733570843, 11 + "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", 12 12 "owner": "LnL7", 13 13 "repo": "nix-darwin", 14 - "rev": "3c52583b99666a349a6219dc1f0dd07d75c82d6a", 14 + "rev": "a35b08d09efda83625bef267eb24347b446c80b8", 15 15 "type": "github" 16 16 }, 17 17 "original": { ··· 36 36 "type": "github" 37 37 } 38 38 }, 39 - "flake-compat_2": { 40 - "flake": false, 41 - "locked": { 42 - "lastModified": 1650374568, 43 - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", 44 - "owner": "edolstra", 45 - "repo": "flake-compat", 46 - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", 47 - "type": "github" 48 - }, 49 - "original": { 50 - "owner": "edolstra", 51 - "repo": "flake-compat", 52 - "type": "github" 53 - } 54 - }, 55 39 "flake-utils": { 56 40 "inputs": { 57 41 "systems": "systems" 58 42 }, 59 43 "locked": { 60 - "lastModified": 1726560853, 61 - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", 44 + "lastModified": 1731533236, 45 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 62 46 "owner": "numtide", 63 47 "repo": "flake-utils", 64 - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", 48 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 65 49 "type": "github" 66 50 }, 67 51 "original": { ··· 70 54 "type": "github" 71 55 } 72 56 }, 73 - "flake-utils-plus": { 57 + "flake-utils_2": { 74 58 "inputs": { 75 - "flake-utils": "flake-utils_2" 59 + "systems": "systems_2" 76 60 }, 77 61 "locked": { 78 - "lastModified": 1715533576, 79 - "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", 80 - "owner": "gytis-ivaskevicius", 81 - "repo": "flake-utils-plus", 82 - "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", 62 + "lastModified": 1726560853, 63 + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", 64 + "owner": "numtide", 65 + "repo": "flake-utils", 66 + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", 83 67 "type": "github" 84 68 }, 85 69 "original": { 86 - "owner": "gytis-ivaskevicius", 87 - "repo": "flake-utils-plus", 88 - "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", 70 + "owner": "numtide", 71 + "repo": "flake-utils", 89 72 "type": "github" 90 73 } 91 74 }, 92 - "flake-utils_2": { 93 - "inputs": { 94 - "systems": "systems_2" 95 - }, 75 + "hardware": { 96 76 "locked": { 97 - "lastModified": 1694529238, 98 - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", 99 - "owner": "numtide", 100 - "repo": "flake-utils", 101 - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", 77 + "lastModified": 1733481457, 78 + "narHash": "sha256-IS3bxa4N1VMSh3/P6vhEAHQZecQ3oAlKCDvzCQSO5Is=", 79 + "owner": "NixOS", 80 + "repo": "nixos-hardware", 81 + "rev": "e563803af3526852b6b1d77107a81908c66a9fcf", 102 82 "type": "github" 103 83 }, 104 84 "original": { 105 - "owner": "numtide", 106 - "repo": "flake-utils", 85 + "owner": "NixOS", 86 + "ref": "master", 87 + "repo": "nixos-hardware", 107 88 "type": "github" 108 89 } 109 90 }, ··· 114 95 ] 115 96 }, 116 97 "locked": { 117 - "lastModified": 1732466619, 118 - "narHash": "sha256-T1e5oceypZu3Q8vzICjv1X/sGs9XfJRMW5OuXHgpB3c=", 98 + "lastModified": 1733572789, 99 + "narHash": "sha256-zjO6m5BqxXIyjrnUziAzk4+T4VleqjstNudSqWcpsHI=", 119 100 "owner": "nix-community", 120 101 "repo": "home-manager", 121 - "rev": "f3111f62a23451114433888902a55cf0692b408d", 102 + "rev": "c7ffc9727d115e433fd884a62dc164b587ff651d", 122 103 "type": "github" 123 104 }, 124 105 "original": { ··· 128 109 "type": "github" 129 110 } 130 111 }, 131 - "nixos-wsl": { 112 + "microvm": { 132 113 "inputs": { 133 - "flake-compat": "flake-compat", 134 114 "flake-utils": "flake-utils", 135 - "nixpkgs": [ 136 - "nixpkgs" 137 - ] 115 + "nixpkgs": "nixpkgs", 116 + "spectrum": "spectrum" 138 117 }, 139 118 "locked": { 140 - "lastModified": 1731682434, 141 - "narHash": "sha256-HnZFPB7akVIy0KuPq/tEkiB+Brt1qi0DUIDzR8z25qI=", 142 - "owner": "nix-community", 143 - "repo": "NixOS-WSL", 144 - "rev": "a6b9cf0b7805e2c50829020a73e7bde683fd36dd", 119 + "lastModified": 1733608368, 120 + "narHash": "sha256-rpCgbvch1VaZBlySMHHDDjRd8n7EyUB25naBhD64za8=", 121 + "owner": "astro", 122 + "repo": "microvm.nix", 123 + "rev": "c9fe9b953fd19ff5e3eb8bdc0ec3a040eead87a4", 145 124 "type": "github" 146 125 }, 147 126 "original": { 148 - "owner": "nix-community", 149 - "repo": "NixOS-WSL", 127 + "owner": "astro", 128 + "repo": "microvm.nix", 150 129 "type": "github" 151 130 } 152 131 }, 153 132 "nixpkgs": { 154 133 "locked": { 155 - "lastModified": 1731755305, 134 + "lastModified": 0, 156 135 "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", 157 - "owner": "nixos", 158 - "repo": "nixpkgs", 159 - "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", 160 - "type": "github" 136 + "path": "/nix/store/idq1bmwwy9rlkc21hccvx42wlwpxsx1f-source", 137 + "type": "path" 161 138 }, 162 139 "original": { 163 - "owner": "nixos", 164 - "ref": "nixos-24.11", 165 - "repo": "nixpkgs", 166 - "type": "github" 140 + "id": "nixpkgs", 141 + "type": "indirect" 167 142 } 168 143 }, 169 144 "nixpkgs_2": { 170 145 "locked": { 171 - "lastModified": 1731139594, 172 - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", 146 + "lastModified": 1733412085, 147 + "narHash": "sha256-FillH0qdWDt/nlO6ED7h4cmN+G9uXwGjwmCnHs0QVYM=", 173 148 "owner": "nixos", 174 149 "repo": "nixpkgs", 175 - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", 150 + "rev": "4dc2fc4e62dbf62b84132fe526356fbac7b03541", 176 151 "type": "github" 177 152 }, 178 153 "original": { 179 154 "owner": "nixos", 180 - "ref": "nixos-unstable", 155 + "ref": "nixos-24.11", 181 156 "repo": "nixpkgs", 182 157 "type": "github" 183 158 } ··· 185 160 "root": { 186 161 "inputs": { 187 162 "darwin": "darwin", 163 + "hardware": "hardware", 188 164 "home-manager": "home-manager", 189 - "nixos-wsl": "nixos-wsl", 190 - "nixpkgs": "nixpkgs", 191 - "snowfall-lib": "snowfall-lib", 165 + "microvm": "microvm", 166 + "nixpkgs": "nixpkgs_2", 192 167 "unstable": "unstable", 193 - "zen-browser": "zen-browser" 168 + "wsl": "wsl" 194 169 } 195 170 }, 196 - "snowfall-lib": { 197 - "inputs": { 198 - "flake-compat": "flake-compat_2", 199 - "flake-utils-plus": "flake-utils-plus", 200 - "nixpkgs": [ 201 - "nixpkgs" 202 - ] 203 - }, 171 + "spectrum": { 172 + "flake": false, 204 173 "locked": { 205 - "lastModified": 1730136121, 206 - "narHash": "sha256-tfVayj13Zw+zzOKrmJhnvBod7Hdb9ixBR6/4GUlyMA0=", 207 - "owner": "snowfallorg", 208 - "repo": "lib", 209 - "rev": "dd348182c1a010993e68004eada86cf0341fe2c4", 210 - "type": "github" 174 + "lastModified": 1733308308, 175 + "narHash": "sha256-+RcbMAjSxV1wW5UpS9abIG1lFZC8bITPiFIKNnE7RLs=", 176 + "ref": "refs/heads/main", 177 + "rev": "80c9e9830d460c944c8f730065f18bb733bc7ee2", 178 + "revCount": 792, 179 + "type": "git", 180 + "url": "https://spectrum-os.org/git/spectrum" 211 181 }, 212 182 "original": { 213 - "owner": "snowfallorg", 214 - "repo": "lib", 215 - "type": "github" 183 + "type": "git", 184 + "url": "https://spectrum-os.org/git/spectrum" 216 185 } 217 186 }, 218 187 "systems": { ··· 247 216 }, 248 217 "unstable": { 249 218 "locked": { 250 - "lastModified": 1732238832, 251 - "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", 219 + "lastModified": 1733376361, 220 + "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", 252 221 "owner": "nixos", 253 222 "repo": "nixpkgs", 254 - "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", 223 + "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", 255 224 "type": "github" 256 225 }, 257 226 "original": { ··· 261 230 "type": "github" 262 231 } 263 232 }, 264 - "zen-browser": { 233 + "wsl": { 265 234 "inputs": { 266 - "nixpkgs": "nixpkgs_2" 235 + "flake-compat": "flake-compat", 236 + "flake-utils": "flake-utils_2", 237 + "nixpkgs": [ 238 + "nixpkgs" 239 + ] 267 240 }, 268 241 "locked": { 269 - "lastModified": 1732047915, 270 - "narHash": "sha256-bSvczDRlTAZtjJeGTfglDjopCuvogwGkZlI/pxDiWkU=", 271 - "owner": "0xc000022070", 272 - "repo": "zen-browser-flake", 273 - "rev": "e5f1e12791208a336e7d6d503719e47135443267", 242 + "lastModified": 1733649718, 243 + "narHash": "sha256-aSgFyFyLP/BExTOB0jGOa5q4WFvvTzc9KGyqwCyILoc=", 244 + "owner": "nix-community", 245 + "repo": "NixOS-WSL", 246 + "rev": "a42dc85db24821b1a5bca3e11803a0c70555b5c2", 274 247 "type": "github" 275 248 }, 276 249 "original": { 277 - "owner": "0xc000022070", 278 - "repo": "zen-browser-flake", 250 + "owner": "nix-community", 251 + "repo": "NixOS-WSL", 279 252 "type": "github" 280 253 } 281 254 }
+56 -29
flake.nix
··· 8 8 inputs.nixpkgs.follows= "nixpkgs"; 9 9 }; 10 10 11 - nixos-wsl = { 11 + wsl = { 12 12 url = "github:nix-community/NixOS-WSL"; 13 13 inputs.nixpkgs.follows= "nixpkgs"; 14 14 }; ··· 18 18 inputs.nixpkgs.follows = "nixpkgs"; 19 19 }; 20 20 21 - # The name "snowfall-lib" is required due to how Snowfall Lib processes your 22 - # flake's inputs. 23 - snowfall-lib = { 24 - url = "github:snowfallorg/lib"; 25 - inputs.nixpkgs.follows = "nixpkgs"; 21 + microvm = { 22 + url = "github:astro/microvm.nix"; 23 + inputs.nixpkgs.url = "nixpkgs"; 26 24 }; 27 25 28 - # Additionnal pkgs 29 - zen-browser.url = "github:0xc000022070/zen-browser-flake"; 30 - # chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; 26 + hardware.url = "github:NixOS/nixos-hardware/master"; 31 27 }; 32 - outputs = inputs : inputs.snowfall-lib.mkFlake { 33 - inherit inputs; 34 - src = ./.; 35 - snowfall.namespace = "asgard"; 36 - snowfall.meta.name = "asgard"; 37 - snowfall.meta.description = "Domain of the Aesir"; 28 + 29 + outputs = { self, nixpkgs, darwin, wsl, home-manager, microvm, hardware, ... }@inputs: 30 + { 31 + overlays = import ./overlays { inherit inputs; }; 38 32 39 - channels-config.allowUnfree = true; 40 - channels-config.allowBroken = true; 33 + nixosConfigurations = { 34 + loki = nixpkgs.lib.nixosSystem { 35 + system = "x86_64-linux"; 36 + specialArgs = { inherit inputs; }; 37 + modules = [ 38 + home-manager.nixosModules.home-manager 39 + ./hosts/x86_64-linux/loki 40 + { 41 + nixpkgs.overlays = [ self.outputs.overlays.unstable-packages ]; 42 + } 43 + ]; 44 + }; 41 45 42 - systems.modules.nixos = with inputs; [ 43 - home-manager.nixosModules.home-manager 44 - ]; 46 + vali = nixpkgs.lib.nixosSystem { 47 + system = "x86_64-linux"; 48 + specialArgs = { inherit inputs; }; 49 + modules = [ 50 + wsl.nixosModules.wsl 51 + home-manager.nixosModules.home-manager 52 + ./hosts/x86_64-linux/vali 53 + ]; 54 + }; 45 55 46 - systems.modules.darwin = with inputs; [ 47 - home-manager.darwinModules.home-manager 48 - ]; 56 + nyx = nixpkgs.lib.nixosSystem { 57 + specialArgs = { inherit inputs; }; 58 + modules = [ 59 + home-manager.nixosModules.home-manager 60 + ./hosts/x86_64-linux/nyx 61 + ]; 62 + }; 49 63 50 - homes.modules = with inputs; [ 51 - # inputs.chaotic.homeManagerModules.default 52 - ]; 64 + # Raspberry Pi 3b+ 65 + narfi = nixpkgs.lib.nixosSystem { 66 + specialArgs = { inherit inputs; }; 67 + modules = [ 68 + microvm.nixosModules.host 69 + ./hosts/aarch64-linux/nyx 70 + ]; 71 + }; 72 + }; 53 73 54 - systems.hosts.vali.modules = with inputs; [ 55 - nixos-wsl.nixosModules.wsl 56 - ]; 74 + darwinConfigurations = { 75 + njord = darwin.lib.darwinSystem { 76 + system = "aarch64-darwin"; 77 + specialArgs = { inherit inputs; }; 78 + modules = [ 79 + ./hosts/aarch64-darwin/njord 80 + home-manager.darwinModules.home-manager 81 + ]; 82 + }; 83 + }; 57 84 }; 58 85 }
+50
homes/_shared/cosmeak/default.nix
··· 1 + { inputs, pkgs, ...}: 2 + { 3 + imports = [ ./neovim ]; 4 + 5 + home.packages = with pkgs; [ 6 + bat 7 + eza 8 + fzf 9 + zoxide 10 + tree 11 + ]; 12 + 13 + programs.git = { 14 + enable = true; 15 + userName = "cosmeak"; 16 + userEmail = "90453342+Cosmeak@users.noreply.github.com"; 17 + lfs.enable = true; 18 + 19 + ignores = [ ".DS_STORE" ]; 20 + 21 + extraConfig = { 22 + core.editor = "codium"; 23 + pull.rebase = true; 24 + }; 25 + }; 26 + 27 + programs.kitty = { 28 + enable = true; 29 + shellIntegration.enableZshIntegration = true; 30 + themeFile = "Monokai_Pro"; 31 + }; 32 + 33 + programs.starship = { 34 + enable = true; 35 + enableZshIntegration = true; 36 + }; 37 + 38 + programs.zsh = { 39 + enable = true; 40 + enableCompletion = true; 41 + shellAliases = { 42 + ls = "eza -la --icons --no-user --no-time --git -s type"; 43 + cat = "bat"; 44 + cd = "z"; 45 + }; 46 + initExtra = '' 47 + eval "$(zoxide init zsh)" 48 + ''; 49 + }; 50 + }
+4
homes/_shared/cosmeak/neovim/config/init.lua
··· 1 + require("config.options") 2 + require("config.keymaps") 3 + require("config.lazy") 4 + require("config.autocmd")
+21
homes/_shared/cosmeak/neovim/config/lazy-lock.json
··· 1 + { 2 + "everforest-nvim": { "branch": "main", "commit": "06a600c4fa49e7a4c44848d14c353ecbaab8eb9f" }, 3 + "gitsigns.nvim": { "branch": "main", "commit": "4aaacbf5e5e2218fd05eb75703fe9e0f85335803" }, 4 + "indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" }, 5 + "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, 6 + "lazygit.nvim": { "branch": "main", "commit": "1e08e3f5ac1152339690140e61a4a32b3bdc7de5" }, 7 + "lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" }, 8 + "mason-lspconfig.nvim": { "branch": "main", "commit": "3ba1b92b771f33256b4969d696b82c8ae7075364" }, 9 + "mason.nvim": { "branch": "main", "commit": "e110bc3be1a7309617cecd77bfe4bf86ba1b8134" }, 10 + "neo-tree.nvim": { "branch": "v3.x", "commit": "2f2d08894bbc679d4d181604c16bb7079f646384" }, 11 + "none-ls.nvim": { "branch": "main", "commit": "cf81e765460f722a381e5f3f5e3cbdce88398517" }, 12 + "nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" }, 13 + "nvim-autopairs": { "branch": "master", "commit": "9fd41181693dd4106b3e414a822bb6569924de81" }, 14 + "nvim-lspconfig": { "branch": "master", "commit": "7eed8b2150192e5ad05e1886fdf133493ddf2928" }, 15 + "nvim-treesitter": { "branch": "master", "commit": "97ba59c6f532072e456b3d1f2413560e689c132b" }, 16 + "nvim-web-devicons": { "branch": "master", "commit": "140edfcf25093e8b321d13e154cbce89ee868ca0" }, 17 + "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, 18 + "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, 19 + "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, 20 + "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" } 21 + }
+6
homes/_shared/cosmeak/neovim/config/lua/.luarc.json
··· 1 + { 2 + "diagnostics.globals": [ 3 + "vim", 4 + "opts" 5 + ] 6 + }
+9
homes/_shared/cosmeak/neovim/config/lua/archived-plugins/catppuccin.lua
··· 1 + return { 2 + "catppuccin/nvim", 3 + version = false, 4 + lazy = false, 5 + priority = 1000, 6 + config = function () 7 + vim.cmd.colorscheme = "catppuccin" 8 + end 9 + }
+1
homes/_shared/cosmeak/neovim/config/lua/config/autocmd.lua
··· 1 + -- Add additional autocmds here
+2
homes/_shared/cosmeak/neovim/config/lua/config/keymaps.lua
··· 1 + -- change <leader> to <Space> 2 + vim.g.mapleader = " "
+17
homes/_shared/cosmeak/neovim/config/lua/config/lazy.lua
··· 1 + -- Install lazy.nvim package manager 2 + local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 3 + if not vim.loop.fs_stat(lazypath) then 4 + vim.fn.system({ 5 + "git", 6 + "clone", 7 + "--filter=blob:none", 8 + "https://github.com/folke/lazy.nvim.git", 9 + "--branch=stable", -- latest stable release 10 + lazypath, 11 + }) 12 + end 13 + vim.opt.rtp:prepend(lazypath) 14 + 15 + -- Load plugins 16 + require("lazy").setup("plugins") 17 + vim.keymap.set("n", "<leader>l", ":Lazy<cr>", {})
+14
homes/_shared/cosmeak/neovim/config/lua/config/options.lua
··· 1 + -- use number of space to a <Tab> 2 + vim.opt.expandtab = true 3 + 4 + -- width of a <Tab> 5 + vim.opt.shiftwidth = 2 6 + vim.opt.tabstop = 2 7 + vim.opt.softtabstop = 2 8 + 9 + -- enable line number and relative line number 10 + vim.opt.number = true 11 + -- vim.opt.relativenumber = true 12 + 13 + -- enable auto indentation 14 + vim.opt.autoindent = true
+1
homes/_shared/cosmeak/neovim/config/lua/plugins.lua
··· 1 + return {}
+5
homes/_shared/cosmeak/neovim/config/lua/plugins/autopairs.lua
··· 1 + return { 2 + 'windwp/nvim-autopairs', 3 + event = "InsertEnter", 4 + opts = {} -- this is equalent to setup({}) function 5 + }
+7
homes/_shared/cosmeak/neovim/config/lua/plugins/discord-presence.lua
··· 1 + return { 2 + "andweeb/presence.nvim", 3 + version = "*", 4 + opts = { 5 + main_image = "file" 6 + } 7 + }
+10
homes/_shared/cosmeak/neovim/config/lua/plugins/everforest.lua
··· 1 + return { 2 + "neanias/everforest-nvim", 3 + version = false, 4 + lazy = false, 5 + priority = 1000, -- make sure to load this before all the other start plugins 6 + -- Optional; default configuration will be used if setup isn't called. 7 + config = function() 8 + vim.cmd.colorscheme "everforest" 9 + end, 10 + }
+8
homes/_shared/cosmeak/neovim/config/lua/plugins/gitsigns.lua
··· 1 + return { 2 + "lewis6991/gitsigns.nvim", 3 + cmd = "Gitsigns", 4 + lazy = true, 5 + config = function () 6 + require("gitsigns").setup() 7 + end 8 + }
+26
homes/_shared/cosmeak/neovim/config/lua/plugins/indent-blankline.lua
··· 1 + return { 2 + "lukas-reineke/indent-blankline.nvim", 3 + opts = { 4 + indent = { 5 + char = "│", 6 + tab_char = "│", 7 + }, 8 + scope = { enabled = false }, 9 + exclude = { 10 + filetypes = { 11 + "help", 12 + "alpha", 13 + "dashboard", 14 + "neo-tree", 15 + "Trouble", 16 + "trouble", 17 + "lazy", 18 + "mason", 19 + "notify", 20 + "toggleterm", 21 + "lazyterm", 22 + }, 23 + }, 24 + }, 25 + main = "ibl", 26 + }
+11
homes/_shared/cosmeak/neovim/config/lua/plugins/lazygit.lua
··· 1 + return { 2 + "kdheepak/lazygit.nvim", 3 + -- optional for floating window border decoration 4 + keys = { 5 + {"<leader>gg", "<cmd>:LazyGit<CR>", desc = "Open LazyGit panel"} 6 + }, 7 + dependencies = { 8 + -- Already installed with telescope 9 + -- "nvim-lua/plenary.nvim", 10 + }, 11 + }
+50
homes/_shared/cosmeak/neovim/config/lua/plugins/lsp.lua
··· 1 + return { 2 + { 3 + "williamboman/mason.nvim", 4 + config = function () 5 + require("mason").setup() 6 + end 7 + }, 8 + { 9 + "williamboman/mason-lspconfig.nvim", 10 + config = function () 11 + require("mason-lspconfig").setup({ 12 + ensure_installed = { 13 + -- web basics 14 + "html", "cssls", "intelephense", "tailwindcss", 15 + -- javascript ecosystem 16 + "tsserver", "svelte", "vuels", "astro", 17 + -- others 18 + "lua_ls", "pyright", "zls", 19 + } 20 + }) 21 + end 22 + }, 23 + { 24 + "neovim/nvim-lspconfig", 25 + config = function () 26 + local lspconfig = require("lspconfig") 27 + 28 + -- Setup LSP 29 + -- -- Web basics 30 + lspconfig.html.setup({}) 31 + lspconfig.cssls.setup({}) 32 + lspconfig.intelephense.setup({}) 33 + lspconfig.tailwindcss.setup({}) 34 + -- -- Javascript ecosystem 35 + lspconfig.tsserver.setup({}) 36 + lspconfig.svelte.setup({}) 37 + lspconfig.vuels.setup({}) 38 + lspconfig.astro.setup({}) 39 + -- -- Others 40 + lspconfig.lua_ls.setup({}) 41 + lspconfig.pyright.setup({}) 42 + lspconfig.zls.setup({}) 43 + 44 + -- Key bindings 45 + vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) 46 + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) 47 + vim.keymap.set({ 'n', 'v' }, '<leader>ca', vim.lsp.buf.code_action, opts) 48 + end 49 + } 50 + }
+7
homes/_shared/cosmeak/neovim/config/lua/plugins/lualine.lua
··· 1 + return { 2 + 'nvim-lualine/lualine.nvim', 3 + dependencies = { 'nvim-tree/nvim-web-devicons' }, 4 + opts = { 5 + theme = "auto" 6 + } 7 + }
+29
homes/_shared/cosmeak/neovim/config/lua/plugins/neotree.lua
··· 1 + return { 2 + "nvim-neo-tree/neo-tree.nvim", 3 + branch = "v3.x", 4 + dependencies = { 5 + "nvim-lua/plenary.nvim", 6 + "nvim-tree/nvim-web-devicons", 7 + "MunifTanjim/nui.nvim", 8 + }, 9 + opts = { 10 + filesystem = { 11 + filtered_items = { 12 + visible = true, 13 + hide_dotfiles = false, 14 + hide_gitignored = false, 15 + never_show = { -- remains hidden even if visible is toggled to true, this overrides always_show 16 + ".DS_Store", 17 + "thumbs.db", 18 + ".git", 19 + } 20 + } 21 + } 22 + }, 23 + keys = { 24 + { "<leader>n", "<cmd>Neotree toggle left<cr>", desc = "Toogle Neotree on the left side<D-s>" } 25 + }, 26 + config = function(_, opts) 27 + require("neo-tree").setup(opts) 28 + end 29 + }
+15
homes/_shared/cosmeak/neovim/config/lua/plugins/none-ls.lua
··· 1 + return { 2 + "nvimtools/none-ls.nvim", 3 + config = function() 4 + local null_ls = require("null-ls") 5 + null_ls.setup({ 6 + sources = { 7 + null_ls.builtins.formatting.stylua, 8 + null_ls.builtins.formatting.prettier, 9 + null_ls.builtins.diagnostics.eslint, 10 + }, 11 + }) 12 + 13 + vim.keymap.set("n", "<leader>gf", vim.lsp.buf.format, {}) 14 + end, 15 + }
+51
homes/_shared/cosmeak/neovim/config/lua/plugins/telescope.lua
··· 1 + return { 2 + { 3 + 'nvim-telescope/telescope.nvim', tag = '0.1.5', 4 + dependencies = { 'nvim-lua/plenary.nvim' }, 5 + keys = { 6 + { "<leader>bf", "<cmd>Telescope buffers<cr>", desc = "Buffers" }, 7 + -- Remap find file to macos cmd + p 8 + { "<D-p>", "<cmd>Telescope find_files<cr>", desc = "Find Files" }, 9 + }, 10 + config = { 11 + defaults = { 12 + file_ignore_patterns = { 13 + "node_modules", 14 + "vendor", 15 + } 16 + } 17 + } 18 + }, 19 + { 20 + "nvim-telescope/telescope-ui-select.nvim", 21 + config = function () 22 + -- This is your opts table 23 + require("telescope").setup { 24 + extensions = { 25 + ["ui-select"] = { 26 + require("telescope.themes").get_dropdown { 27 + -- even more opts 28 + } 29 + 30 + -- pseudo code / specification for writing custom displays, like the one 31 + -- for "codeactions" 32 + -- specific_opts = { 33 + -- [kind] = { 34 + -- make_indexed = function(items) -> indexed_items, width, 35 + -- make_displayer = function(widths) -> displayer 36 + -- make_display = function(displayer) -> function(e) 37 + -- make_ordinal = function(e) -> string 38 + -- }, 39 + -- -- for example to disable the custom builtin "codeactions" display 40 + -- do the following 41 + -- codeactions = false, 42 + -- } 43 + } 44 + } 45 + } 46 + -- To get ui-select loaded and working with telescope, you need to call 47 + -- load_extension, somewhere after setup function: 48 + require("telescope").load_extension("ui-select") 49 + end 50 + } 51 + }
+30
homes/_shared/cosmeak/neovim/config/lua/plugins/treesitter.lua
··· 1 + return { 2 + { 3 + "nvim-treesitter/nvim-treesitter", 4 + build = ":TSUpdate", 5 + config = function() 6 + local config = require("nvim-treesitter.configs") 7 + config.setup({ 8 + auto_installed = true, 9 + ensure_installed = { 10 + -- web basics 11 + "html", 12 + "css", 13 + "scss", 14 + "php", 15 + -- Javascript ecosystem 16 + "javascript", 17 + "vue", 18 + "svelte", 19 + -- others 20 + "lua", 21 + "zig", 22 + "python", 23 + "rust", 24 + }, 25 + highlight = { enable = true }, 26 + indent = { enable = true }, 27 + }) 28 + end, 29 + }, 30 + }
+9
homes/_shared/cosmeak/neovim/default.nix
··· 1 + { inputs, pkgs, ...}: 2 + { 3 + programs.neovim.enable = true; 4 + 5 + home.file.".config/nvim" = { 6 + source = ./config; 7 + recursive = true; 8 + }; 9 + }
-15
homes/aarch64-darwin/cosmeak@njord/default.nix
··· 1 - { inputs, outputs, pkgs, ... }: 2 - { 3 - # imports = [ /. "./../cosmeak@shared/home.nix" ]; 4 - 5 - # home.username = "cosmeak"; 6 - # home.homeDirectory = "/Users/cosmeak"; 7 - 8 - # home.packages = with pkgs; [ 9 - # # TODO: move users package from configuration.nix 10 - # ]; 11 - 12 - # You do not need to change this if you're reading this in the future. 13 - # Don't ever change this after the first build. Don't ask questions. 14 - home.stateVersion = "24.05"; 15 - }
+66
homes/aarch64-darwin/njord/cosmeak/default.nix
··· 1 + { inputs, pkgs, ... }: 2 + { 3 + imports = [ 4 + ./../../../_shared/cosmeak 5 + ]; 6 + 7 + home.username = "cosmeak"; 8 + home.homeDirectory = "/Users/cosmeak"; 9 + programs.home-manager.enable = true; 10 + 11 + home.packages = with pkgs; [ 12 + # most used Dev environment 13 + php83 14 + php83Packages.composer 15 + nodejs_20 16 + python310 17 + 18 + # CLI 19 + tree 20 + btop 21 + lazygit 22 + ngrok 23 + fastfetch 24 + 25 + # Utilities 26 + alt-tab-macos 27 + raycast 28 + 29 + # Window Manager 30 + # Actually disabled because issue with french keyboard bindings 31 + # aerospace 32 + ]; 33 + 34 + programs.kitty = { 35 + enable = true; 36 + shellIntegration.enableZshIntegration = true; 37 + themeFile = "Monokai_Pro"; 38 + }; 39 + 40 + programs.zsh = { 41 + enable = true; 42 + enableCompletion = true; 43 + syntaxHighlighting.enable = true; 44 + initExtra = '' 45 + eval "$(zoxide init zsh)" 46 + eval "$(/opt/homebrew/bin/brew shellenv)" 47 + alias rebuild="darwin-rebuild switch --flake ~/.dotfiles" 48 + ''; 49 + }; 50 + 51 + programs.starship = { 52 + enable = true; 53 + enableZshIntegration = true; 54 + }; 55 + 56 + programs.zoxide = { 57 + enable = true; 58 + enableZshIntegration = true; 59 + }; 60 + 61 + # home.file.".config/aerospace/aerospace.toml".source = ./aerospace/i3-like.toml; 62 + 63 + # You do not need to change this if you're reading this in the future. 64 + # Don't ever change this after the first build. Don't ask questions. 65 + home.stateVersion = "24.05"; 66 + }
-24
homes/x86_64-linux/benjamin@nyx/default.nix
··· 1 - { 2 - # Snowfall Lib provides a customized `lib` instance with access to your flake's library 3 - # as well as the libraries available from your flake's inputs. 4 - lib, 5 - # An instance of `pkgs` with your overlays and packages applied is also available. 6 - pkgs, 7 - # You also have access to your flake's inputs. 8 - inputs, 9 - 10 - # Additional metadata is provided by Snowfall Lib. 11 - namespace, # The namespace used for your flake, defaulting to "internal" if not set. 12 - home, # The home architecture for this host (eg. `x86_64-linux`). 13 - target, # The Snowfall Lib target for this home (eg. `x86_64-home`). 14 - format, # A normalized name for the home target (eg. `home`). 15 - virtual, # A boolean to determine whether this home is a virtual target using nixos-generators. 16 - host, # The host name for this home. 17 - 18 - # All other arguments come from the home home. 19 - config, 20 - ... 21 - }: 22 - { 23 - # Your configuration. 24 - }
+9 -7
homes/x86_64-linux/cosmeak@loki/default.nix homes/x86_64-linux/loki/cosmeak/default.nix
··· 1 - { lib, pkgs, inputs, namespace, config, ... }: 2 - with lib; 3 - with lib.${namespace}; 1 + { inputs, pkgs, ... }: 4 2 { 5 - home.packages = with pkgs; with inputs; [ 3 + imports = [ ./../../../_shared/cosmeak ]; 4 + 5 + programs.home-manager.enable = true; 6 + 7 + home.packages = with pkgs; [ 6 8 brave 7 9 btop 10 + discord-canary 8 11 just 9 12 lazygit 10 13 lutris ··· 13 16 prismlauncher 14 17 spotify 15 18 thunderbird 16 - vesktop 17 19 vscodium 18 - zed-editor 19 - zen-browser.packages.${system}.specific 20 20 ]; 21 + 22 + 21 23 22 24 # You do not need to change this if you're reading this in the future. 23 25 # Don't ever change this after the first build. Don't ask questions.
+55
hosts/aarch64-darwin/njord/default.nix
··· 1 + { self, inputs, pkgs, ... }: 2 + { 3 + imports = [ 4 + ./homebrew 5 + ./system 6 + ]; 7 + 8 + # Home Manager 9 + home-manager.useGlobalPkgs = true; 10 + home-manager.useUserPackages = true; 11 + home-manager.users.cosmeak = import ./../../../homes/aarch64-darwin/njord/cosmeak; 12 + users.users.cosmeak.home = "/Users/cosmeak"; 13 + 14 + # Enable sudo via TouchID 15 + security.pam.enableSudoTouchIdAuth = true; 16 + 17 + # Use jankyboarders to see which window is in focus 18 + services.jankyborders = { 19 + enable = true; 20 + }; 21 + 22 + # Use sketcybar to replace default macos bar and have something customizable 23 + services.sketchybar = { 24 + enable = true; 25 + }; 26 + 27 + # System wide packages 28 + environment.systemPackages = with pkgs; [ 29 + # Add packages here 30 + ]; 31 + 32 + # Garbage collector 33 + nix.gc = { 34 + automatic = true; 35 + interval = [{ Weekday = 7; }]; 36 + options = "--delete-older-than 7d"; 37 + }; 38 + nix.optimise.automatic = true; 39 + 40 + # The platform the configuration will be used on. 41 + nixpkgs.hostPlatform = "aarch64-darwin"; 42 + 43 + # Allow unfree packages 44 + nixpkgs.config.allowUnfree = true; 45 + 46 + # Enable flakes 47 + nix.settings.experimental-features = [ "nix-command" "flakes" ]; 48 + 49 + # Use nix as a daemon 50 + services.nix-daemon.enable = true; 51 + 52 + # Used for backwards compatibility, please read the changelog before changing. 53 + # $ darwin-rebuild changelog 54 + system.stateVersion = 5; 55 + }
+5
hosts/aarch64-darwin/njord/homebrew/brews.nix
··· 1 + { 2 + homebrew.brews = [ 3 + "cocoapods" 4 + ]; 5 + }
+28
hosts/aarch64-darwin/njord/homebrew/casks.nix
··· 1 + { 2 + homebrew.casks = [ 3 + # Dev 4 + "zed" 5 + "vscodium" # used for jupyter notebook because not available in zed at this time 6 + "beekeeper-studio" # find a better alternative 7 + "insomnia" 8 + "orbstack" # replace with simple docker desktop 9 + "figma" 10 + "dbngin" # will be removed when all my project will used flakes and docker for databases 11 + "arduino-ide" 12 + 13 + # Apps 14 + "spotify" 15 + "discord" 16 + "thunderbird" # install via nix if possiblex 17 + "obsidian" 18 + "brave-browser" 19 + 20 + # Mics 21 + "amethyst" # Window manager 22 + "stats" # System monitoring displayed in macos top bar - will be replaced by custom script with sketchybar 23 + 24 + # Fonts 25 + "sf-symbols" 26 + "font-hack-nerd-font" # move this to nix installation 27 + ]; 28 + }
+16
hosts/aarch64-darwin/njord/homebrew/default.nix
··· 1 + { 2 + # Homebrew - Using for gui app because majority macos apps does not exists in nixpkgs repository 3 + 4 + imports = [ 5 + ./brews.nix 6 + ./casks.nix 7 + ./masapps.nix 8 + ./taps.nix 9 + ]; 10 + 11 + homebrew.enable = true; 12 + homebrew.onActivation = { 13 + autoUpdate = true; 14 + cleanup = "zap"; # uninstall all elements not listed 15 + }; 16 + }
+6
hosts/aarch64-darwin/njord/homebrew/masapps.nix
··· 1 + { 2 + # Apps from App Store 3 + homebrew.masApps = { 4 + # Xcode = 497799835; 5 + }; 6 + }
+7
hosts/aarch64-darwin/njord/homebrew/taps.nix
··· 1 + { 2 + homebrew.taps = [ 3 + "homebrew/cask-versions" 4 + "homebrew/cask-fonts" 5 + "FelixKratz/formulae" 6 + ]; 7 + }
+19
hosts/aarch64-darwin/njord/system/default.nix
··· 1 + { 2 + imports = [ 3 + ./dock.nix 4 + ./finder.nix 5 + ./nsglobaldomain.nix 6 + ]; 7 + 8 + # Disable startup sound 9 + system.nvram.variables = { 10 + "StartupMute" = "%01"; 11 + }; 12 + 13 + system.defaults = { 14 + # Deactivate state manager 15 + WindowManager.GloballyEnabled = false; 16 + # Text show in the login window 17 + loginwindow.LoginwindowText = "Maybe you cannot touch me"; 18 + }; 19 + }
+29
hosts/aarch64-darwin/njord/system/dock.nix
··· 1 + { 2 + system.defaults.dock = { 3 + autohide = true; 4 + orientation = "bottom"; # Set dock to bottom 5 + mru-spaces = false; # Auto arrange space based on the most recent use 6 + launchanim = false; # Remove animation when opening an app 7 + mineffect = "scale"; # Change animation from minimize/maximize app 8 + magnification = false; 9 + minimize-to-application = true; # Minimize app in app icon 10 + show-recents = false; # Don't show recent open apps 11 + tilesize = 32; # Set dock size 12 + # Set dock apps 13 + persistent-apps = [ 14 + "/Applications/Thunderbird.app" 15 + "/Applications/Brave Browser.app" 16 + "/Applications/Discord.app" 17 + "/Applications/Spotify.app" 18 + "/Applications/Obsidian.app" 19 + "/Applications/Nix Apps/kitty.app" 20 + "/Applications/Zed.app" 21 + "/Applications/Beekeeper Studio.app" 22 + ]; 23 + # Disable hot corners 24 + wvous-bl-corner = 1; 25 + wvous-br-corner = 1; 26 + wvous-tl-corner = 1; 27 + wvous-tr-corner = 1; 28 + }; 29 + }
+10
hosts/aarch64-darwin/njord/system/finder.nix
··· 1 + { 2 + system.defaults.screencapture.location = "~/Pictures/screenshots"; 3 + system.defaults.finder = { 4 + AppleShowAllExtensions = true; # Show file extension 5 + AppleShowAllFiles = true; # Show hidden files 6 + FXPreferredViewStyle = "clmv"; # Set default view to column 7 + CreateDesktop = false; # Disable show icon on desktop 8 + FXDefaultSearchScope = "SCcf"; # Set default search scope to current folder 9 + }; 10 + }
+22
hosts/aarch64-darwin/njord/system/nsglobaldomain.nix
··· 1 + { 2 + system.defaults.NSGlobalDomain = { 3 + # Switch between dark and light mode automatically 4 + AppleInterfaceStyleSwitchesAutomatically = true; 5 + # Disable saving new documents to icloud 6 + NSDocumentSaveNewDocumentsToCloud = false; 7 + # Time before the key is repeated 8 + InitialKeyRepeat = 7; 9 + # Time between repeat key 10 + KeyRepeat = 6; 11 + # Window open animation 12 + NSAutomaticWindowAnimationsEnabled = false; 13 + # Icon size in finder 14 + NSTableViewDefaultSizeMode = 2; 15 + # Drag from anywhere a window to move it 16 + NSWindowShouldDragOnGesture = true; 17 + # Deativate sound bip when volume is changed 18 + "com.apple.sound.beep.feedback" = 0; 19 + # Natural scrolling direction 20 + "com.apple.swipescrolldirection" = true; 21 + }; 22 + }
+4
hosts/aarch64-linux/narfi/default.nix
··· 1 + { self, inputs, pkgs, ... }: 2 + { 3 + # 4 + }
+4
hosts/x86_64-bsd/hvedrung/default.nix
··· 1 + { self, inputs, pkgs, ... }: 2 + { 3 + # 4 + }
+4
hosts/x86_64-linux/beowulf/default.nix
··· 1 + { self, inputs, outputs, pkgs, ... }: 2 + { 3 + # 4 + }
+154
hosts/x86_64-linux/loki/default.nix
··· 1 + { self, inputs, pkgs, config, ... }: 2 + { 3 + imports = [ ./hardware.nix ]; 4 + 5 + # Desktop Environment 6 + services.xserver.enable = true; 7 + services.xserver.desktopManager.budgie.enable = true; 8 + services.xserver.displayManager.lightdm.enable = true; 9 + 10 + # Home Manager 11 + home-manager.useGlobalPkgs = true; 12 + home-manager.useUserPackages = true; 13 + home-manager.users.cosmeak = import ./../../../homes/x86_64-linux/loki/cosmeak; 14 + users.users.cosmeak.home = "/home/cosmeak"; 15 + home-manager.backupFileExtension = "bak"; 16 + 17 + # EFI Bootloader 18 + boot.loader.systemd-boot.enable = true; 19 + boot.loader.efi.canTouchEfiVariables = true; 20 + boot.loader.systemd-boot.configurationLimit = 10; 21 + 22 + # https://github.com/NixOS/nixpkgs/blob/c32c39d6f3b1fe6514598fa40ad2cf9ce22c3fb7/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix#L66 23 + boot.loader.systemd-boot.editor = false; 24 + 25 + # Fonts 26 + fonts.packages = with pkgs; [ 27 + (nerdfonts.override { fonts = [ "Hack" ]; }) 28 + ]; 29 + environment.variables = { 30 + # Enable icons in tooling since we have nerdfonts. 31 + LOG_ICONS = "true"; 32 + }; 33 + 34 + # Locales 35 + i18n.defaultLocale = "en_US.UTF-8"; 36 + 37 + i18n.extraLocaleSettings = { 38 + LC_ADDRESS = "fr_FR.UTF-8"; 39 + LC_IDENTIFICATION = "fr_FR.UTF-8"; 40 + LC_MEASUREMENT = "fr_FR.UTF-8"; 41 + LC_MONETARY = "fr_FR.UTF-8"; 42 + LC_NAME = "fr_FR.UTF-8"; 43 + LC_NUMERIC = "fr_FR.UTF-8"; 44 + LC_PAPER = "fr_FR.UTF-8"; 45 + LC_TELEPHONE = "fr_FR.UTF-8"; 46 + LC_TIME = "fr_FR.UTF-8"; 47 + }; 48 + 49 + # Timezone 50 + time.timeZone = "Europe/Paris"; 51 + 52 + # Keyboard 53 + services.xserver.xkb.layout = "us"; 54 + 55 + # Audio 56 + hardware.pulseaudio.enable = false; 57 + security.rtkit.enable = true; 58 + services.pipewire = { 59 + enable = true; 60 + alsa.enable = true; 61 + alsa.support32Bit = true; 62 + pulse.enable = true; 63 + jack.enable = true; 64 + }; 65 + 66 + # Nvidia GPU 67 + # Open GL 68 + hardware.graphics = { 69 + enable = true; 70 + enable32Bit = true; 71 + }; 72 + services.xserver.videoDrivers = [ "nvidia" ]; 73 + hardware.nvidia = { 74 + # package = config.boot.kernelPackages.nvidiaPackages.beta; 75 + modesetting.enable = true; 76 + powerManagement.enable = false; 77 + powerManagement.finegrained = false; 78 + open = false; 79 + nvidiaSettings = true; 80 + }; 81 + 82 + # Networking 83 + networking.networkmanager.enable = true; 84 + networking.hostName = "loki"; 85 + 86 + # Steam 87 + programs.steam = { 88 + enable = true; 89 + gamescopeSession.enable = true; 90 + }; 91 + environment.sessionVariables = { 92 + STEAM_EXTRA_COMPAT_TOOS_PATHS = "/home/cosmeak/.steam/root/compatibilitytools.d"; 93 + }; 94 + 95 + # Shell 96 + users.defaultUserShell = pkgs.zsh; 97 + users.users.root.shell = pkgs.bashInteractive; 98 + programs.zsh.enable = true; 99 + 100 + # Enable automatic login for the user. 101 + services.displayManager.autoLogin.enable = true; 102 + services.displayManager.autoLogin.user = "cosmeak"; 103 + 104 + # Install packages 105 + environment.systemPackages = with pkgs; [ 106 + git 107 + mangohud 108 + protonup 109 + kitty 110 + vlc 111 + 112 + # For gaming purposes 113 + ananicy-cpp 114 + ananicy-rules-cachyos 115 + ]; 116 + 117 + # Define a user account. Don't forget to set a password with ‘passwd’. 118 + users.users.cosmeak = { 119 + isNormalUser = true; 120 + description = "cosmeak"; 121 + extraGroups = [ "networkmanager" "wheel" ]; 122 + }; 123 + 124 + # Enable or not CUPS to print documents. 125 + services.printing.enable = false; 126 + 127 + # Enable unfree packages 128 + nixpkgs.config.allowUnfree = true; 129 + 130 + # Perform garbage collection weekly to maintain low disk usage 131 + nix.gc = { 132 + automatic = true; 133 + dates = "weekly"; 134 + options = "--delete-older-than 1w"; 135 + }; 136 + 137 + # Optimize storage 138 + # You can also manually optimize the store via: 139 + # nix-store --optimise 140 + # Refer to the following link for more details: 141 + # https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store 142 + nix.settings.auto-optimise-store = true; 143 + 144 + # Enable flakes 145 + nix.settings.experimental-features = [ "nix-command" "flakes" ]; 146 + 147 + # This value determines the NixOS release from which the default 148 + # settings for stateful data, like file locations and database versions 149 + # on your system were taken. It‘s perfectly fine and recommended to leave 150 + # this value at the release version of the first install of this system. 151 + # Before changing this value read the documentation for this option 152 + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 153 + system.stateVersion = "24.05"; # Did you read the comment? 154 + }
lib/.gitkeep

This is a binary file and will not be displayed.

-16
lib/module/default.nix
··· 1 - {lib, ...}: 2 - with lib; 3 - rec { 4 - mkOpt = type: default: description: 5 - mkOption {inherit type default description;}; 6 - 7 - mkOpt' = type: default: mkOpt type default null; 8 - 9 - mkBoolOpt = mkOpt types.bool; 10 - 11 - mkBoolOpt' = mkOpt' types.bool; 12 - 13 - enabled = {enable = true;}; 14 - 15 - disabled = {enable = false;}; 16 - }
modules/.gitkeep

This is a binary file and will not be displayed.

-34
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 suite."; 10 - }; 11 - 12 - config = mkIf cfg.enable { 13 - services.aerospace = { 14 - enable = true; 15 - }; 16 - # Use i3 like config as default 17 - asgard.home.file.".config/aerospace/aerospace.toml".source = ./i3-like-default.toml; 18 - 19 - # Enable skhd to overide keyboard inputs and make other layout than qwerty functional 20 - services.skhd = { 21 - enable = true; 22 - }; 23 - 24 - # Use jankyboarders to see which window is in focus 25 - services.jankyborders = { 26 - enable = true; 27 - }; 28 - 29 - # Use sketcybar to replace default macos bar and have something customizable 30 - services.sketchybar = { 31 - enable = true; 32 - }; 33 - }; 34 - }
modules/darwin/desktop/aerospace/i3-like-default.toml homes/aarch64-darwin/njord/cosmeak/aerospace/i3-like.toml
-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 - }
-29
modules/nixos/apps/steam/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... } : 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.apps.steam; 6 - in 7 - { 8 - options.${namespace}.apps.steam = with types; { 9 - enable = mkBoolOpt false "Whether or not to enable support for Steam."; 10 - }; 11 - 12 - config = mkIf cfg.enable { 13 - programs.steam = { 14 - enable = true; 15 - gamescopeSession.enable = true; 16 - }; 17 - 18 - environment.systemPackages = with pkgs; [ 19 - ananicy-cpp 20 - ananicy-rules-cachyos 21 - ]; 22 - 23 - # programs.gamemode.enable = true; 24 - 25 - environment.sessionVariables = { 26 - STEAM_EXTRA_COMPAT_TOOS_PATHS = "/home/cosmeak/.steam/root/compatibilitytools.d"; 27 - }; 28 - }; 29 - }
-17
modules/nixos/desktop/budgie/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.desktop.budgie; 6 - in 7 - { 8 - options.${namespace}.desktop.budgie = with types; { 9 - enable = mkBoolOpt false "Wheter or not to enable Budgie Desktop Environment."; 10 - }; 11 - 12 - config = mkIf cfg.enable { 13 - services.xserver.enable = true; 14 - services.xserver.desktopManager.budgie.enable = true; 15 - services.xserver.displayManager.lightdm.enable = true; 16 - }; 17 - }
-54
modules/nixos/desktop/i3/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.desktop.i3; 6 - in 7 - { 8 - options.${namespace}.desktop.i3 = with types; { 9 - enable = mkBoolOpt false "Wheter or not to enable i3 Window Manager 'Suite'."; 10 - }; 11 - 12 - config = mkIf cfg.enable { 13 - services.xserver = { 14 - enable = true; 15 - 16 - desktopManager = { 17 - xterm.enable = false; 18 - }; 19 - 20 - windowManager.i3 = { 21 - enable = true; 22 - extraPackages = with pkgs; [ 23 - dmenu 24 - i3status 25 - i3lock 26 - # i3blocks 27 - ]; 28 - }; 29 - }; 30 - 31 - services.displayManager = { 32 - defaultSession = "none+i3"; 33 - }; 34 - 35 - asgard.home.extraOptions.xsession.windowManager.i3 = { 36 - enable = true; 37 - config = { 38 - terminal = "kitty"; 39 - gaps = { 40 - inner = 16; 41 - outer = 16; 42 - }; 43 - window.commands = [ 44 - { 45 - command = "floating enable"; 46 - criteria = { 47 - class = "steam"; 48 - }; 49 - } 50 - ]; 51 - }; 52 - }; 53 - }; 54 - }
-24
modules/nixos/hardware/audio/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.hardware.audio; 6 - in 7 - { 8 - options.${namespace}.hardware.audio = with types; { 9 - enable = mkBoolOpt false "Whether or not to enable audio support."; 10 - }; 11 - 12 - config = mkIf cfg.enable { 13 - # Enable sound with pipewire. 14 - hardware.pulseaudio.enable = false; 15 - security.rtkit.enable = true; 16 - services.pipewire = { 17 - enable = true; 18 - alsa.enable = true; 19 - alsa.support32Bit = true; 20 - pulse.enable = true; 21 - jack.enable = true; 22 - }; 23 - }; 24 - }
-29
modules/nixos/hardware/gpu/nvidia/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.hardware.gpu.nvidia; 6 - in 7 - { 8 - options.${namespace}.hardware.gpu.nvidia = with types; { 9 - enable = mkBoolOpt false "Whether or not to enable support for NVIDIA GPU."; 10 - }; 11 - 12 - config = mkIf cfg.enable { 13 - # Enable OpenGL 14 - hardware.graphics = { 15 - enable = true; 16 - enable32Bit = true; 17 - }; 18 - 19 - services.xserver.videoDrivers = [ "nvidia" ]; 20 - hardware.nvidia = { 21 - package = config.boot.kernelPackages.nvidiaPackages.beta; 22 - modesetting.enable = true; 23 - powerManagement.enable = false; 24 - powerManagement.finegrained = false; 25 - open = false; 26 - nvidiaSettings = true; 27 - }; 28 - }; 29 - }
-15
modules/nixos/hardware/networking/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.hardware.networking; 6 - in 7 - { 8 - options.${namespace}.hardware.networking = with types; { 9 - enable = mkBoolOpt false "Whether or not to enable networking."; 10 - }; 11 - 12 - config = mkIf cfg.enable { 13 - networking.networkmanager.enable = true; 14 - }; 15 - }
-32
modules/nixos/home/default.nix
··· 1 - { options, config, lib, inputs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - { 5 - imports = with inputs; [ 6 - home-manager.nixosModules.home-manager 7 - ]; 8 - 9 - options.${namespace}.home = with types; { 10 - file = mkOpt attrs {} "A set of files to be managed by home-manager's <option>home.file</option>."; 11 - configFile = mkOpt attrs {} "A set of files to be managed by home-manager's <option>xdg.configFile</option>."; 12 - programs = mkOpt attrs {} "Programs to be managed by home-manager."; 13 - extraOptions = mkOpt attrs {} "Options to pass directly to home-manager."; 14 - }; 15 - 16 - config = { 17 - asgard.home.extraOptions = { 18 - home.stateVersion = config.system.stateVersion; 19 - home.file = mkAliasDefinitions options.${namespace}.home.file; 20 - xdg.enable = true; 21 - xdg.configFile = mkAliasDefinitions options.${namespace}.home.configFile; 22 - programs = mkAliasDefinitions options.${namespace}.home.programs; 23 - }; 24 - 25 - snowfallorg.users.cosmeak.home.config = config.${namespace}.home.extraOptions; 26 - 27 - home-manager = { 28 - useUserPackages = true; 29 - useGlobalPkgs = true; 30 - }; 31 - }; 32 - }
-20
modules/nixos/system/boot/efi/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.system.boot.efi; 6 - in 7 - { 8 - options.${namespace}.system.boot.efi = with types; { 9 - enable = mkBoolOpt false "Whether or not to enable booting."; 10 - }; 11 - 12 - config = mkIf cfg.enable { 13 - boot.loader.systemd-boot.enable = true; 14 - boot.loader.efi.canTouchEfiVariables = true; 15 - boot.loader.systemd-boot.configurationLimit = 5; 16 - 17 - # https://github.com/NixOS/nixpkgs/blob/c32c39d6f3b1fe6514598fa40ad2cf9ce22c3fb7/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix#L66 18 - boot.loader.systemd-boot.editor = false; 19 - }; 20 - }
-28
modules/nixos/system/fonts/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.system.fonts; 6 - in 7 - { 8 - options.${namespace}.system.fonts = with types; { 9 - enable = mkBoolOpt false "Whether or not to manage fonts."; 10 - fonts = mkOpt (listOf package) [ ] "Custom font packages to install."; 11 - }; 12 - 13 - config = mkIf cfg.enable { 14 - environment.variables = { 15 - # Enable icons in tooling since we have nerdfonts. 16 - LOG_ICONS = "true"; 17 - }; 18 - 19 - environment.systemPackages = with pkgs; [ font-manager ]; 20 - 21 - fonts.packages = 22 - with pkgs; 23 - [ 24 - (nerdfonts.override { fonts = [ "Hack" ]; }) 25 - ] 26 - ++ cfg.fonts; 27 - }; 28 - }
-29
modules/nixos/system/locale/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.system.locale; 6 - in 7 - { 8 - options.${namespace}.system.locale = with types; { 9 - enable = mkBoolOpt false "Whether or not to manage locale."; 10 - locale = mkOpt str "en_US.UTF-8" "Define your locale."; 11 - extraLocale = mkOpt str "fr_FR.UTF-8" "Define different locale for extra locale settings"; 12 - }; 13 - 14 - config = mkIf cfg.enable { 15 - i18n.defaultLocale = cfg.locale; 16 - 17 - i18n.extraLocaleSettings = { 18 - LC_ADDRESS = cfg.extraLocale; 19 - LC_IDENTIFICATION = cfg.extraLocale; 20 - LC_MEASUREMENT = cfg.extraLocale; 21 - LC_MONETARY = cfg.extraLocale; 22 - LC_NAME = cfg.extraLocale; 23 - LC_NUMERIC = cfg.extraLocale; 24 - LC_PAPER = cfg.extraLocale; 25 - LC_TELEPHONE = cfg.extraLocale; 26 - LC_TIME = cfg.extraLocale; 27 - }; 28 - }; 29 - }
-45
modules/nixos/system/shell/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.system.shell; 6 - in 7 - { 8 - options.${namespace}.system.shell = with types; { 9 - enable = mkBoolOpt false "Whether or not to manage shell configuration."; 10 - }; 11 - 12 - config = mkIf cfg.enable { 13 - environment.systemPackages = with pkgs; [ 14 - bat 15 - eza 16 - fzf 17 - zoxide 18 - starship 19 - zsh 20 - tree 21 - ]; 22 - 23 - users.defaultUserShell = pkgs.zsh; 24 - users.users.root.shell = pkgs.bashInteractive; 25 - programs.zsh.enable = true; 26 - 27 - asgard.home.programs.starship = { 28 - enable = true; 29 - enableZshIntegration = true; 30 - }; 31 - 32 - asgard.home.programs.zsh = { 33 - enable = true; 34 - enableCompletion = true; 35 - shellAliases = { 36 - ls = "eza -la --icons --no-user --no-time --git -s type"; 37 - cat = "bat"; 38 - cd = "z"; 39 - }; 40 - initExtra = '' 41 - eval "$(zoxide init zsh)" 42 - ''; 43 - }; 44 - }; 45 - }
-16
modules/nixos/system/time/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.system.time; 6 - in 7 - { 8 - options.${namespace}.system.time = with types; { 9 - enable = mkBoolOpt false "Whether or not to manage timezone."; 10 - timezone = mkOpt str "Europe/Paris" "Define your timezone."; 11 - }; 12 - 13 - config = mkIf cfg.enable { 14 - time.timeZone = cfg.timezone; 15 - }; 16 - }
-17
modules/nixos/system/xkb/default.nix
··· 1 - { options, config, lib, pkgs, namespace, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - let 5 - cfg = config.${namespace}.system.xkb; 6 - in 7 - { 8 - options.${namespace}.system.xkb = with types; { 9 - enable = mkBoolOpt false "Whether or not to configure xkb."; 10 - layout = mkOpt str "us" "Define your xbk layout."; 11 - }; 12 - 13 - config = mkIf cfg.enable { 14 - services.xserver.xkb.layout = cfg.layout; 15 - # TODO : add alternative variant and layout switcher 16 - }; 17 - }
+11
overlays/default.nix
··· 1 + { inputs, ... }: 2 + { 3 + # The unstable nixpkgs set (declared in the flake inputs) will 4 + # be accessible through `pkgs.unstable` 5 + unstable-packages = final: prev: { 6 + unstable = import inputs.nixpkgs-unstable { 7 + inherit (final) system; 8 + config.allowUnfree = true; 9 + }; 10 + }; 11 + }
-4
overlays/deno/default.nix
··· 1 - { channels, ... }: 2 - final: prev: { 3 - inherit (channels.unstable) deno; 4 - }
-4
overlays/modrinth-app/default.nix
··· 1 - { channels, ... }: 2 - final: prev: { 3 - # inherit (channels.unstable) modrinth-app; 4 - }
-4
overlays/zed-editor/default.nix
··· 1 - { channels, ... }: 2 - final: prev: { 3 - inherit (channels.unstable) zed-editor; 4 - }
-195
systems/aarch64-darwin/njord/default.nix
··· 1 - { lib, pkgs, inputs, namespace, system, target, format, virtual, systems, config, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - { 5 - asgard.desktop.amethyst.enable = true; 6 - 7 - # Enable sudo via TouchID 8 - security.pam.enableSudoTouchIdAuth = true; 9 - 10 - # Config Macos with preference 11 - # Disable startup sound 12 - system.nvram.variables = { 13 - "StartupMute" = "%01"; 14 - }; 15 - system.defaults = { 16 - # Dock 17 - # -- Relaunch dock when it not reload itself correctly 18 - # $ killall Dock 19 - dock = { 20 - autohide = true; 21 - orientation = "bottom"; # Set dock to bottom 22 - mru-spaces = false; # Auto arrange space based on the most recent use 23 - launchanim = false; # Remove animation when opening an app 24 - mineffect = "scale"; # Change animation from minimize/maximize app 25 - magnification = false; 26 - minimize-to-application = true; # Minimize app in app icon 27 - show-recents = false; # Don't show recent open apps 28 - tilesize = 32; # Set dock size 29 - # Set dock apps 30 - persistent-apps = [ 31 - "/Applications/Thunderbird.app" 32 - "/Applications/Brave Browser.app" 33 - "/Applications/Discord.app" 34 - "/Applications/Spotify.app" 35 - "/Applications/Obsidian.app" 36 - "/Applications/Nix Apps/kitty.app" 37 - "/Applications/Zed.app" 38 - "/Applications/Beekeeper Studio.app" 39 - ]; 40 - # Disable hot corners 41 - wvous-bl-corner = 1; 42 - wvous-br-corner = 1; 43 - wvous-tl-corner = 1; 44 - wvous-tr-corner = 1; 45 - }; 46 - 47 - # Finder 48 - finder = { 49 - AppleShowAllExtensions = true; # Show file extension 50 - AppleShowAllFiles = true; # Show hidden files 51 - FXPreferredViewStyle = "clmv"; # Set default view to column 52 - CreateDesktop = false; # Disable show icon on desktop 53 - FXDefaultSearchScope = "SCcf"; # Set default search scope to current folder 54 - }; 55 - 56 - # Screenshot 57 - screencapture.location = "~/Pictures/screenshots"; 58 - 59 - NSGlobalDomain = { 60 - # Switch between dark and light mode automatically 61 - AppleInterfaceStyleSwitchesAutomatically = true; 62 - # Disable saving new documents to icloud 63 - NSDocumentSaveNewDocumentsToCloud = false; 64 - # Time before the key is repeated 65 - InitialKeyRepeat = 7; 66 - # Time between repeat key 67 - KeyRepeat = 6; 68 - # Window open animation 69 - NSAutomaticWindowAnimationsEnabled = false; 70 - # Icon size in finder 71 - NSTableViewDefaultSizeMode = 2; 72 - # Drag from anywhere a window to move it 73 - NSWindowShouldDragOnGesture = true; 74 - # Deativate sound bip when volume is changed 75 - "com.apple.sound.beep.feedback" = 0; 76 - # Natural scrolling direction 77 - "com.apple.swipescrolldirection" = true; 78 - }; 79 - 80 - # Deactivate state manager 81 - WindowManager.GloballyEnabled = false; 82 - 83 - # Text show in the login window 84 - loginwindow.LoginwindowText = "Maybe you cannot touch me"; 85 - }; 86 - 87 - # List packages installed in system profile. To search by name, run: 88 - # $ nix-env -qaP | grep wget 89 - environment.systemPackages = with pkgs; [ 90 - # most used Dev environment 91 - php83 92 - php83Packages.composer 93 - nodejs_20 94 - python310 95 - vscodium 96 - 97 - # CLI 98 - neovim 99 - starship 100 - zoxide 101 - tree 102 - btop 103 - lazygit 104 - ngrok 105 - fastfetch 106 - 107 - # Utilities 108 - kitty 109 - alt-tab-macos 110 - raycast 111 - ]; 112 - 113 - # Homebrew - Using for gui app because majority macos apps does not exists in nixpkgs repository 114 - homebrew.enable = true; 115 - homebrew.onActivation = { 116 - autoUpdate = true; 117 - cleanup = "zap"; # uninstall all elements not listed below 118 - }; 119 - homebrew.taps = [ 120 - "homebrew/cask-versions" 121 - "homebrew/cask-fonts" 122 - "FelixKratz/formulae" 123 - ]; 124 - 125 - homebrew.brews = [ 126 - "cocoapods" 127 - "yarn" 128 - ]; 129 - 130 - homebrew.casks = [ 131 - # Dev 132 - "zed" 133 - "beekeeper-studio" 134 - "insomnia" 135 - "orbstack" 136 - "figma" 137 - "dbngin" 138 - "github" 139 - "mongodb-compass" 140 - "cyberduck" 141 - 142 - # Apps 143 - "spotify" 144 - "discord" 145 - "thunderbird" 146 - "obs" 147 - "obsidian" 148 - "modrinth" 149 - "zen-browser" 150 - "brave-browser" 151 - "balenaetcher" 152 - 153 - # Utilities 154 - # "sketchybar" 155 - "stats" 156 - 157 - # Fonts 158 - "sf-symbols" 159 - "font-hack-nerd-font" 160 - ]; 161 - 162 - # Apps from App Store 163 - homebrew.masApps = { 164 - # Xcode = 497799835; 165 - Slack = 803453959; 166 - }; 167 - 168 - programs.zsh = { 169 - enable = true; 170 - enableBashCompletion = true; 171 - enableCompletion = true; 172 - enableSyntaxHighlighting = true; 173 - loginShellInit = '' 174 - eval "$(zoxide init zsh)" 175 - eval "$(/opt/homebrew/bin/brew shellenv)" 176 - alias rebuild="darwin-rebuild switch --flake ~/.dotfiles" 177 - ''; 178 - }; 179 - 180 - # The platform the configuration will be used on. 181 - nixpkgs.hostPlatform = "aarch64-darwin"; 182 - 183 - # Enable flakes 184 - nix.settings.experimental-features = [ "nix-command" "flakes" ]; 185 - 186 - # Use nix as a daemon 187 - services.nix-daemon.enable = true; 188 - 189 - # Set Git commit hash for darwin-version. 190 - # system.configurationRevision = self.rev or self.dirtyRev or null; 191 - 192 - # Used for backwards compatibility, please read the changelog before changing. 193 - # $ darwin-rebuild changelog 194 - system.stateVersion = 5; 195 - }
systems/x86_64-bsd/hvedrung/default.nix homes/x86_64-linux/nyx/benjamin/default.nix
-82
systems/x86_64-linux/loki/default.nix
··· 1 - { lib, pkgs, inputs, namespace, system, target, format, virtual, systems, config, ... }: 2 - with lib; 3 - with lib.${namespace}; 4 - { 5 - imports = [ ./hardware.nix ]; 6 - 7 - asgard = { 8 - system = { 9 - boot.efi.enable = true; 10 - fonts.enable = true; 11 - time.enable = true; 12 - locale.enable = true; 13 - xkb.enable = true; 14 - shell.enable = true; 15 - }; 16 - 17 - hardware = { 18 - gpu.nvidia.enable = true; 19 - audio.enable = true; 20 - networking.enable = true; 21 - }; 22 - 23 - desktop.budgie.enable = true; 24 - 25 - apps = { 26 - steam.enable = true; 27 - }; 28 - }; 29 - 30 - boot.kernelPackages = pkgs.linuxPackages_latest; 31 - # boot.kernelPackages = pkgs.linuxPackages_cachyos; 32 - # chaotic.scx.enable = true; # by default uses scx_rustland scheduler 33 - # chaotic.scx.scheduler = "scx_rusty"; 34 - 35 - # Enable automatic login for the user. 36 - services.displayManager.autoLogin.enable = true; 37 - services.displayManager.autoLogin.user = "cosmeak"; 38 - 39 - # Install packages 40 - environment.systemPackages = with pkgs; [ 41 - git 42 - mangohud 43 - protonup 44 - kitty 45 - modrinth-app 46 - ]; 47 - 48 - # Define a user account. Don't forget to set a password with ‘passwd’. 49 - users.users.cosmeak = { 50 - isNormalUser = true; 51 - description = "cosmeak"; 52 - extraGroups = [ "networkmanager" "wheel" ]; 53 - }; 54 - 55 - # Enable or not CUPS to print documents. 56 - services.printing.enable = false; 57 - 58 - # Perform garbage collection weekly to maintain low disk usage 59 - nix.gc = { 60 - automatic = true; 61 - dates = "weekly"; 62 - options = "--delete-older-than 1w"; 63 - }; 64 - 65 - # Optimize storage 66 - # You can also manually optimize the store via: 67 - # nix-store --optimise 68 - # Refer to the following link for more details: 69 - # https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store 70 - nix.settings.auto-optimise-store = true; 71 - 72 - # Enable flakes 73 - nix.settings.experimental-features = [ "nix-command" "flakes" ]; 74 - 75 - # This value determines the NixOS release from which the default 76 - # settings for stateful data, like file locations and database versions 77 - # on your system were taken. It‘s perfectly fine and recommended to leave 78 - # this value at the release version of the first install of this system. 79 - # Before changing this value read the documentation for this option 80 - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 81 - system.stateVersion = "24.05"; # Did you read the comment? 82 - }
systems/x86_64-linux/loki/disks.nix hosts/x86_64-linux/loki/disks.nix
systems/x86_64-linux/loki/hardware.nix hosts/x86_64-linux/loki/hardware.nix
systems/x86_64-linux/nyx/default.nix hosts/x86_64-linux/nyx/default.nix
systems/x86_64-linux/nyx/hardware.nix hosts/x86_64-linux/nyx/hardware.nix
systems/x86_64-linux/vali/configuration.nix hosts/x86_64-linux/vali/configuration.nix