diff --git a/AGENTS.md b/bak/AGENTS.md similarity index 100% rename from AGENTS.md rename to bak/AGENTS.md diff --git a/Justfile b/bak/Justfile similarity index 100% rename from Justfile rename to bak/Justfile diff --git a/README.md b/bak/README.md similarity index 100% rename from README.md rename to bak/README.md diff --git a/flake.lock b/bak/flake.lock similarity index 100% rename from flake.lock rename to bak/flake.lock diff --git a/bak/flake.nix b/bak/flake.nix new file mode 100644 index 0000000..014bab0 --- /dev/null +++ b/bak/flake.nix @@ -0,0 +1,109 @@ +{ + description = "dnsc-server NixOS flake"; + + inputs = { + agenix.url = "github:ryantm/agenix"; + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nix-darwin.url = "github:LnL7/nix-darwin/master"; + nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; + ip-whitelist.url = "github:Oak-Digital/nixos-ip-whitelist-firewall"; + nix-homebrew.url = "github:zhaofengli/nix-homebrew"; + zellij-switch.url = "github:mostafaqanbaryan/zellij-switch"; + zen-browser.url = "github:0xc000022070/zen-browser-flake"; + firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; + nixvim.url = "github:nix-community/nixvim"; + noctalia = { + url = "github:noctalia-dev/noctalia-shell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = + { + self, + nixpkgs, + home-manager, + nix-darwin, + nix-homebrew, + agenix, + zellij-switch, + nixvim, + noctalia, + ... + }@inputs: + let + inherit (self) outputs; + in + { + # Custom nixosModules + nixosModules.base = import ./modules/base; + nixosModules.macos = import ./modules/macos; + nixosModules.homebrew = import ./modules/homebrew; + nixosModules.aerospace = import ./modules/aerospace; + nixosModules.keyd = import ./modules/keyd; + nixosModules.ly = import ./modules/wm/ly; + nixosModules.unix = import ./modules/unix; + nixosModules.nvidia = import ./modules/unix/nvidia.nix; + nixosModules.bluetooth = import ./modules/unix/bluetooth.nix; + nixosModules.audio = import ./modules/unix/audio.nix; + nixosModules.printing = import ./modules/unix/printing.nix; + nixosModules.tablet = import ./modules/unix/tablet.nix; + nixosModules.steam = import ./modules/steam; + nixosModules.niriSystem = import ./modules/wm/niri-system; + nixosModules.direnv = import ./modules/direnv; + + nixosConfigurations.dnsc-machine = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs outputs; }; + modules = [ + ./hosts/dnsc-machine + ]; + }; + + nixosConfigurations.dnsc-server = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs outputs; }; + modules = [ + ./hosts/dnsc-server + agenix.nixosModules.default + ]; + }; + + nixosConfigurations.dnsc-vps-sm = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs outputs; }; + modules = [ + ./hosts/dnsc-vps-sm + agenix.nixosModules.default + ]; + }; + + darwinConfigurations.dnsc-air = nix-darwin.lib.darwinSystem { + system = "aarch64-darwin"; + specialArgs = { inherit inputs outputs; }; + modules = [ + nix-homebrew.darwinModules.nix-homebrew + ./hosts/dnsc-air + ]; + }; + + darwinConfigurations.dnsc-work = nix-darwin.lib.darwinSystem { + system = "aarch64-darwin"; + specialArgs = { inherit inputs outputs; }; + modules = [ + nix-homebrew.darwinModules.nix-homebrew + ./hosts/dnsc-work + ]; + }; + + homeConfigurations."dnsc-deck" = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; + modules = [ ./home/deck.nix ]; + }; + }; +} diff --git a/home/darwin-work.nix b/bak/home/darwin-work.nix similarity index 100% rename from home/darwin-work.nix rename to bak/home/darwin-work.nix diff --git a/home/darwin.nix b/bak/home/darwin.nix similarity index 100% rename from home/darwin.nix rename to bak/home/darwin.nix diff --git a/home/deck.nix b/bak/home/deck.nix similarity index 100% rename from home/deck.nix rename to bak/home/deck.nix diff --git a/home/linux.nix b/bak/home/linux.nix similarity index 100% rename from home/linux.nix rename to bak/home/linux.nix diff --git a/home/server.nix b/bak/home/server.nix similarity index 100% rename from home/server.nix rename to bak/home/server.nix diff --git a/hosts/dnsc-air/default.nix b/bak/hosts/dnsc-air/default.nix similarity index 100% rename from hosts/dnsc-air/default.nix rename to bak/hosts/dnsc-air/default.nix diff --git a/hosts/dnsc-machine/default.nix b/bak/hosts/dnsc-machine/default.nix similarity index 100% rename from hosts/dnsc-machine/default.nix rename to bak/hosts/dnsc-machine/default.nix diff --git a/hosts/dnsc-machine/hardware-configuration.nix b/bak/hosts/dnsc-machine/hardware-configuration.nix similarity index 100% rename from hosts/dnsc-machine/hardware-configuration.nix rename to bak/hosts/dnsc-machine/hardware-configuration.nix diff --git a/hosts/dnsc-server/default.nix b/bak/hosts/dnsc-server/default.nix similarity index 100% rename from hosts/dnsc-server/default.nix rename to bak/hosts/dnsc-server/default.nix diff --git a/hosts/dnsc-server/hardware-configuration.nix b/bak/hosts/dnsc-server/hardware-configuration.nix similarity index 100% rename from hosts/dnsc-server/hardware-configuration.nix rename to bak/hosts/dnsc-server/hardware-configuration.nix diff --git a/hosts/dnsc-vps-sm/default.nix b/bak/hosts/dnsc-vps-sm/default.nix similarity index 100% rename from hosts/dnsc-vps-sm/default.nix rename to bak/hosts/dnsc-vps-sm/default.nix diff --git a/hosts/dnsc-vps-sm/hardware-configuration.nix b/bak/hosts/dnsc-vps-sm/hardware-configuration.nix similarity index 100% rename from hosts/dnsc-vps-sm/hardware-configuration.nix rename to bak/hosts/dnsc-vps-sm/hardware-configuration.nix diff --git a/hosts/dnsc-vps-sm/networking.nix b/bak/hosts/dnsc-vps-sm/networking.nix similarity index 100% rename from hosts/dnsc-vps-sm/networking.nix rename to bak/hosts/dnsc-vps-sm/networking.nix diff --git a/hosts/dnsc-work/default.nix b/bak/hosts/dnsc-work/default.nix similarity index 100% rename from hosts/dnsc-work/default.nix rename to bak/hosts/dnsc-work/default.nix diff --git a/modules/actual-server/default.nix b/bak/modules/actual-server/default.nix similarity index 100% rename from modules/actual-server/default.nix rename to bak/modules/actual-server/default.nix diff --git a/modules/aerospace/default.nix b/bak/modules/aerospace/default.nix similarity index 100% rename from modules/aerospace/default.nix rename to bak/modules/aerospace/default.nix diff --git a/modules/atuin/default.nix b/bak/modules/atuin/default.nix similarity index 100% rename from modules/atuin/default.nix rename to bak/modules/atuin/default.nix diff --git a/modules/backrest/default.nix b/bak/modules/backrest/default.nix similarity index 100% rename from modules/backrest/default.nix rename to bak/modules/backrest/default.nix diff --git a/modules/base/default.nix b/bak/modules/base/default.nix similarity index 100% rename from modules/base/default.nix rename to bak/modules/base/default.nix diff --git a/modules/bash/bin/ff.sh b/bak/modules/bash/bin/ff.sh similarity index 100% rename from modules/bash/bin/ff.sh rename to bak/modules/bash/bin/ff.sh diff --git a/modules/bash/default.nix b/bak/modules/bash/default.nix similarity index 100% rename from modules/bash/default.nix rename to bak/modules/bash/default.nix diff --git a/modules/cockpit/default.nix b/bak/modules/cockpit/default.nix similarity index 100% rename from modules/cockpit/default.nix rename to bak/modules/cockpit/default.nix diff --git a/modules/direnv/default.nix b/bak/modules/direnv/default.nix similarity index 100% rename from modules/direnv/default.nix rename to bak/modules/direnv/default.nix diff --git a/modules/docker/default.nix b/bak/modules/docker/default.nix similarity index 100% rename from modules/docker/default.nix rename to bak/modules/docker/default.nix diff --git a/modules/firefox/default.nix b/bak/modules/firefox/default.nix similarity index 100% rename from modules/firefox/default.nix rename to bak/modules/firefox/default.nix diff --git a/modules/fish/default.nix b/bak/modules/fish/default.nix similarity index 100% rename from modules/fish/default.nix rename to bak/modules/fish/default.nix diff --git a/modules/fish/ff.bash b/bak/modules/fish/ff.bash similarity index 100% rename from modules/fish/ff.bash rename to bak/modules/fish/ff.bash diff --git a/modules/ghostty/default.nix b/bak/modules/ghostty/default.nix similarity index 100% rename from modules/ghostty/default.nix rename to bak/modules/ghostty/default.nix diff --git a/modules/ghostty/linux.nix b/bak/modules/ghostty/linux.nix similarity index 100% rename from modules/ghostty/linux.nix rename to bak/modules/ghostty/linux.nix diff --git a/modules/git/default.nix b/bak/modules/git/default.nix similarity index 100% rename from modules/git/default.nix rename to bak/modules/git/default.nix diff --git a/modules/glance/default.nix b/bak/modules/glance/default.nix similarity index 100% rename from modules/glance/default.nix rename to bak/modules/glance/default.nix diff --git a/modules/homebrew/default.nix b/bak/modules/homebrew/default.nix similarity index 100% rename from modules/homebrew/default.nix rename to bak/modules/homebrew/default.nix diff --git a/modules/homepage/default.nix b/bak/modules/homepage/default.nix similarity index 100% rename from modules/homepage/default.nix rename to bak/modules/homepage/default.nix diff --git a/modules/immich/default.nix b/bak/modules/immich/default.nix similarity index 100% rename from modules/immich/default.nix rename to bak/modules/immich/default.nix diff --git a/modules/jellyfin/default.nix b/bak/modules/jellyfin/default.nix similarity index 100% rename from modules/jellyfin/default.nix rename to bak/modules/jellyfin/default.nix diff --git a/modules/keyd/default.nix b/bak/modules/keyd/default.nix similarity index 100% rename from modules/keyd/default.nix rename to bak/modules/keyd/default.nix diff --git a/modules/lazygit/default.nix b/bak/modules/lazygit/default.nix similarity index 100% rename from modules/lazygit/default.nix rename to bak/modules/lazygit/default.nix diff --git a/modules/librewolf/default.nix b/bak/modules/librewolf/default.nix similarity index 100% rename from modules/librewolf/default.nix rename to bak/modules/librewolf/default.nix diff --git a/modules/macos/default.nix b/bak/modules/macos/default.nix similarity index 100% rename from modules/macos/default.nix rename to bak/modules/macos/default.nix diff --git a/modules/nixvim/ai.nix b/bak/modules/nixvim/ai.nix similarity index 100% rename from modules/nixvim/ai.nix rename to bak/modules/nixvim/ai.nix diff --git a/modules/nixvim/colorscheme.nix b/bak/modules/nixvim/colorscheme.nix similarity index 100% rename from modules/nixvim/colorscheme.nix rename to bak/modules/nixvim/colorscheme.nix diff --git a/modules/nixvim/completion.nix b/bak/modules/nixvim/completion.nix similarity index 100% rename from modules/nixvim/completion.nix rename to bak/modules/nixvim/completion.nix diff --git a/modules/nixvim/default.nix b/bak/modules/nixvim/default.nix similarity index 100% rename from modules/nixvim/default.nix rename to bak/modules/nixvim/default.nix diff --git a/modules/nixvim/editing.nix b/bak/modules/nixvim/editing.nix similarity index 100% rename from modules/nixvim/editing.nix rename to bak/modules/nixvim/editing.nix diff --git a/modules/nixvim/extraFiles/palette.lua b/bak/modules/nixvim/extraFiles/palette.lua similarity index 100% rename from modules/nixvim/extraFiles/palette.lua rename to bak/modules/nixvim/extraFiles/palette.lua diff --git a/modules/nixvim/extraFiles/winterly.lua b/bak/modules/nixvim/extraFiles/winterly.lua similarity index 100% rename from modules/nixvim/extraFiles/winterly.lua rename to bak/modules/nixvim/extraFiles/winterly.lua diff --git a/modules/nixvim/formatter.nix b/bak/modules/nixvim/formatter.nix similarity index 100% rename from modules/nixvim/formatter.nix rename to bak/modules/nixvim/formatter.nix diff --git a/modules/nixvim/git.nix b/bak/modules/nixvim/git.nix similarity index 100% rename from modules/nixvim/git.nix rename to bak/modules/nixvim/git.nix diff --git a/modules/nixvim/keybindings.nix b/bak/modules/nixvim/keybindings.nix similarity index 100% rename from modules/nixvim/keybindings.nix rename to bak/modules/nixvim/keybindings.nix diff --git a/modules/nixvim/lsp.nix b/bak/modules/nixvim/lsp.nix similarity index 100% rename from modules/nixvim/lsp.nix rename to bak/modules/nixvim/lsp.nix diff --git a/modules/nixvim/options.nix b/bak/modules/nixvim/options.nix similarity index 100% rename from modules/nixvim/options.nix rename to bak/modules/nixvim/options.nix diff --git a/modules/nixvim/picker.nix b/bak/modules/nixvim/picker.nix similarity index 100% rename from modules/nixvim/picker.nix rename to bak/modules/nixvim/picker.nix diff --git a/modules/nixvim/statusline.nix b/bak/modules/nixvim/statusline.nix similarity index 100% rename from modules/nixvim/statusline.nix rename to bak/modules/nixvim/statusline.nix diff --git a/modules/nvim/config/after/ftplugin/markdown.vim b/bak/modules/nvim/config/after/ftplugin/markdown.vim similarity index 100% rename from modules/nvim/config/after/ftplugin/markdown.vim rename to bak/modules/nvim/config/after/ftplugin/markdown.vim diff --git a/modules/nvim/config/after/ftplugin/odin.vim b/bak/modules/nvim/config/after/ftplugin/odin.vim similarity index 100% rename from modules/nvim/config/after/ftplugin/odin.vim rename to bak/modules/nvim/config/after/ftplugin/odin.vim diff --git a/modules/nvim/config/after/ftplugin/vimwiki.vim b/bak/modules/nvim/config/after/ftplugin/vimwiki.vim similarity index 100% rename from modules/nvim/config/after/ftplugin/vimwiki.vim rename to bak/modules/nvim/config/after/ftplugin/vimwiki.vim diff --git a/modules/nvim/config/colors/winterly.lua b/bak/modules/nvim/config/colors/winterly.lua similarity index 100% rename from modules/nvim/config/colors/winterly.lua rename to bak/modules/nvim/config/colors/winterly.lua diff --git a/modules/nvim/config/ftdetect/fastlane.vim b/bak/modules/nvim/config/ftdetect/fastlane.vim similarity index 100% rename from modules/nvim/config/ftdetect/fastlane.vim rename to bak/modules/nvim/config/ftdetect/fastlane.vim diff --git a/modules/nvim/config/init.lua b/bak/modules/nvim/config/init.lua similarity index 100% rename from modules/nvim/config/init.lua rename to bak/modules/nvim/config/init.lua diff --git a/modules/nvim/config/lazy-lock.json b/bak/modules/nvim/config/lazy-lock.json similarity index 100% rename from modules/nvim/config/lazy-lock.json rename to bak/modules/nvim/config/lazy-lock.json diff --git a/modules/nvim/config/lsp/astro.lua b/bak/modules/nvim/config/lsp/astro.lua similarity index 100% rename from modules/nvim/config/lsp/astro.lua rename to bak/modules/nvim/config/lsp/astro.lua diff --git a/modules/nvim/config/lsp/biome.lua b/bak/modules/nvim/config/lsp/biome.lua similarity index 100% rename from modules/nvim/config/lsp/biome.lua rename to bak/modules/nvim/config/lsp/biome.lua diff --git a/modules/nvim/config/lsp/eslint.lua b/bak/modules/nvim/config/lsp/eslint.lua similarity index 100% rename from modules/nvim/config/lsp/eslint.lua rename to bak/modules/nvim/config/lsp/eslint.lua diff --git a/modules/nvim/config/lsp/gopls.lua b/bak/modules/nvim/config/lsp/gopls.lua similarity index 100% rename from modules/nvim/config/lsp/gopls.lua rename to bak/modules/nvim/config/lsp/gopls.lua diff --git a/modules/nvim/config/lsp/jsonls.lua b/bak/modules/nvim/config/lsp/jsonls.lua similarity index 100% rename from modules/nvim/config/lsp/jsonls.lua rename to bak/modules/nvim/config/lsp/jsonls.lua diff --git a/modules/nvim/config/lsp/lua_ls.lua b/bak/modules/nvim/config/lsp/lua_ls.lua similarity index 100% rename from modules/nvim/config/lsp/lua_ls.lua rename to bak/modules/nvim/config/lsp/lua_ls.lua diff --git a/modules/nvim/config/lsp/nil_ls.lua b/bak/modules/nvim/config/lsp/nil_ls.lua similarity index 100% rename from modules/nvim/config/lsp/nil_ls.lua rename to bak/modules/nvim/config/lsp/nil_ls.lua diff --git a/modules/nvim/config/lsp/tailwindcss.lua b/bak/modules/nvim/config/lsp/tailwindcss.lua similarity index 100% rename from modules/nvim/config/lsp/tailwindcss.lua rename to bak/modules/nvim/config/lsp/tailwindcss.lua diff --git a/modules/nvim/config/lsp/ts_ls.lua b/bak/modules/nvim/config/lsp/ts_ls.lua similarity index 100% rename from modules/nvim/config/lsp/ts_ls.lua rename to bak/modules/nvim/config/lsp/ts_ls.lua diff --git a/modules/nvim/config/lua/dnsc/keymaps.lua b/bak/modules/nvim/config/lua/dnsc/keymaps.lua similarity index 100% rename from modules/nvim/config/lua/dnsc/keymaps.lua rename to bak/modules/nvim/config/lua/dnsc/keymaps.lua diff --git a/modules/nvim/config/lua/dnsc/lazy.lua b/bak/modules/nvim/config/lua/dnsc/lazy.lua similarity index 100% rename from modules/nvim/config/lua/dnsc/lazy.lua rename to bak/modules/nvim/config/lua/dnsc/lazy.lua diff --git a/modules/nvim/config/lua/dnsc/lsp.lua b/bak/modules/nvim/config/lua/dnsc/lsp.lua similarity index 100% rename from modules/nvim/config/lua/dnsc/lsp.lua rename to bak/modules/nvim/config/lua/dnsc/lsp.lua diff --git a/modules/nvim/config/lua/dnsc/palette.lua b/bak/modules/nvim/config/lua/dnsc/palette.lua similarity index 100% rename from modules/nvim/config/lua/dnsc/palette.lua rename to bak/modules/nvim/config/lua/dnsc/palette.lua diff --git a/modules/nvim/config/lua/dnsc/utils.lua b/bak/modules/nvim/config/lua/dnsc/utils.lua similarity index 100% rename from modules/nvim/config/lua/dnsc/utils.lua rename to bak/modules/nvim/config/lua/dnsc/utils.lua diff --git a/modules/nvim/config/lua/plugins/blink.lua b/bak/modules/nvim/config/lua/plugins/blink.lua similarity index 100% rename from modules/nvim/config/lua/plugins/blink.lua rename to bak/modules/nvim/config/lua/plugins/blink.lua diff --git a/modules/nvim/config/lua/plugins/codecompanion.lua b/bak/modules/nvim/config/lua/plugins/codecompanion.lua similarity index 100% rename from modules/nvim/config/lua/plugins/codecompanion.lua rename to bak/modules/nvim/config/lua/plugins/codecompanion.lua diff --git a/modules/nvim/config/lua/plugins/conform.lua b/bak/modules/nvim/config/lua/plugins/conform.lua similarity index 100% rename from modules/nvim/config/lua/plugins/conform.lua rename to bak/modules/nvim/config/lua/plugins/conform.lua diff --git a/modules/nvim/config/lua/plugins/dispatch.lua b/bak/modules/nvim/config/lua/plugins/dispatch.lua similarity index 100% rename from modules/nvim/config/lua/plugins/dispatch.lua rename to bak/modules/nvim/config/lua/plugins/dispatch.lua diff --git a/modules/nvim/config/lua/plugins/flash.lua b/bak/modules/nvim/config/lua/plugins/flash.lua similarity index 100% rename from modules/nvim/config/lua/plugins/flash.lua rename to bak/modules/nvim/config/lua/plugins/flash.lua diff --git a/modules/nvim/config/lua/plugins/gitportal.lua b/bak/modules/nvim/config/lua/plugins/gitportal.lua similarity index 100% rename from modules/nvim/config/lua/plugins/gitportal.lua rename to bak/modules/nvim/config/lua/plugins/gitportal.lua diff --git a/modules/nvim/config/lua/plugins/helpers.lua b/bak/modules/nvim/config/lua/plugins/helpers.lua similarity index 100% rename from modules/nvim/config/lua/plugins/helpers.lua rename to bak/modules/nvim/config/lua/plugins/helpers.lua diff --git a/modules/nvim/config/lua/plugins/lualine.lua b/bak/modules/nvim/config/lua/plugins/lualine.lua similarity index 100% rename from modules/nvim/config/lua/plugins/lualine.lua rename to bak/modules/nvim/config/lua/plugins/lualine.lua diff --git a/modules/nvim/config/lua/plugins/markdown.lua b/bak/modules/nvim/config/lua/plugins/markdown.lua similarity index 100% rename from modules/nvim/config/lua/plugins/markdown.lua rename to bak/modules/nvim/config/lua/plugins/markdown.lua diff --git a/modules/nvim/config/lua/plugins/mini.pairs.lua b/bak/modules/nvim/config/lua/plugins/mini.pairs.lua similarity index 100% rename from modules/nvim/config/lua/plugins/mini.pairs.lua rename to bak/modules/nvim/config/lua/plugins/mini.pairs.lua diff --git a/modules/nvim/config/lua/plugins/nvim-surround.lua b/bak/modules/nvim/config/lua/plugins/nvim-surround.lua similarity index 100% rename from modules/nvim/config/lua/plugins/nvim-surround.lua rename to bak/modules/nvim/config/lua/plugins/nvim-surround.lua diff --git a/modules/nvim/config/lua/plugins/oil.lua b/bak/modules/nvim/config/lua/plugins/oil.lua similarity index 100% rename from modules/nvim/config/lua/plugins/oil.lua rename to bak/modules/nvim/config/lua/plugins/oil.lua diff --git a/modules/nvim/config/lua/plugins/schemastore.lua b/bak/modules/nvim/config/lua/plugins/schemastore.lua similarity index 100% rename from modules/nvim/config/lua/plugins/schemastore.lua rename to bak/modules/nvim/config/lua/plugins/schemastore.lua diff --git a/modules/nvim/config/lua/plugins/snacks.lua b/bak/modules/nvim/config/lua/plugins/snacks.lua similarity index 100% rename from modules/nvim/config/lua/plugins/snacks.lua rename to bak/modules/nvim/config/lua/plugins/snacks.lua diff --git a/modules/nvim/config/lua/plugins/substitute.lua b/bak/modules/nvim/config/lua/plugins/substitute.lua similarity index 100% rename from modules/nvim/config/lua/plugins/substitute.lua rename to bak/modules/nvim/config/lua/plugins/substitute.lua diff --git a/modules/nvim/config/lua/plugins/treesitter.lua b/bak/modules/nvim/config/lua/plugins/treesitter.lua similarity index 100% rename from modules/nvim/config/lua/plugins/treesitter.lua rename to bak/modules/nvim/config/lua/plugins/treesitter.lua diff --git a/modules/nvim/config/lua/plugins/which-key.lua b/bak/modules/nvim/config/lua/plugins/which-key.lua similarity index 100% rename from modules/nvim/config/lua/plugins/which-key.lua rename to bak/modules/nvim/config/lua/plugins/which-key.lua diff --git a/modules/nvim/config/stylua.toml b/bak/modules/nvim/config/stylua.toml similarity index 100% rename from modules/nvim/config/stylua.toml rename to bak/modules/nvim/config/stylua.toml diff --git a/modules/nvim/deck.nix b/bak/modules/nvim/deck.nix similarity index 100% rename from modules/nvim/deck.nix rename to bak/modules/nvim/deck.nix diff --git a/modules/nvim/default.nix b/bak/modules/nvim/default.nix similarity index 100% rename from modules/nvim/default.nix rename to bak/modules/nvim/default.nix diff --git a/modules/openssh/default.nix b/bak/modules/openssh/default.nix similarity index 100% rename from modules/openssh/default.nix rename to bak/modules/openssh/default.nix diff --git a/modules/raycast/default.nix b/bak/modules/raycast/default.nix similarity index 100% rename from modules/raycast/default.nix rename to bak/modules/raycast/default.nix diff --git a/modules/raycast/scripts/add-to-inbox.sh b/bak/modules/raycast/scripts/add-to-inbox.sh similarity index 100% rename from modules/raycast/scripts/add-to-inbox.sh rename to bak/modules/raycast/scripts/add-to-inbox.sh diff --git a/modules/raycast/scripts/emacsclient.sh b/bak/modules/raycast/scripts/emacsclient.sh similarity index 100% rename from modules/raycast/scripts/emacsclient.sh rename to bak/modules/raycast/scripts/emacsclient.sh diff --git a/modules/raycast/scripts/open-agenda.sh b/bak/modules/raycast/scripts/open-agenda.sh similarity index 100% rename from modules/raycast/scripts/open-agenda.sh rename to bak/modules/raycast/scripts/open-agenda.sh diff --git a/modules/restic/default.nix b/bak/modules/restic/default.nix similarity index 100% rename from modules/restic/default.nix rename to bak/modules/restic/default.nix diff --git a/modules/samba/default.nix b/bak/modules/samba/default.nix similarity index 100% rename from modules/samba/default.nix rename to bak/modules/samba/default.nix diff --git a/modules/ssh/default.nix b/bak/modules/ssh/default.nix similarity index 100% rename from modules/ssh/default.nix rename to bak/modules/ssh/default.nix diff --git a/modules/steam/default.nix b/bak/modules/steam/default.nix similarity index 100% rename from modules/steam/default.nix rename to bak/modules/steam/default.nix diff --git a/modules/syncthing/default.nix b/bak/modules/syncthing/default.nix similarity index 100% rename from modules/syncthing/default.nix rename to bak/modules/syncthing/default.nix diff --git a/modules/tmux/default.nix b/bak/modules/tmux/default.nix similarity index 100% rename from modules/tmux/default.nix rename to bak/modules/tmux/default.nix diff --git a/modules/tmux/server.nix b/bak/modules/tmux/server.nix similarity index 100% rename from modules/tmux/server.nix rename to bak/modules/tmux/server.nix diff --git a/modules/tmuxinator/personal-layouts/dnsc.yml b/bak/modules/tmuxinator/personal-layouts/dnsc.yml similarity index 100% rename from modules/tmuxinator/personal-layouts/dnsc.yml rename to bak/modules/tmuxinator/personal-layouts/dnsc.yml diff --git a/modules/tmuxinator/personal-layouts/main.yml b/bak/modules/tmuxinator/personal-layouts/main.yml similarity index 100% rename from modules/tmuxinator/personal-layouts/main.yml rename to bak/modules/tmuxinator/personal-layouts/main.yml diff --git a/modules/tmuxinator/personal-layouts/nix-config.yml b/bak/modules/tmuxinator/personal-layouts/nix-config.yml similarity index 100% rename from modules/tmuxinator/personal-layouts/nix-config.yml rename to bak/modules/tmuxinator/personal-layouts/nix-config.yml diff --git a/modules/tmuxinator/personal-layouts/notes.yml b/bak/modules/tmuxinator/personal-layouts/notes.yml similarity index 100% rename from modules/tmuxinator/personal-layouts/notes.yml rename to bak/modules/tmuxinator/personal-layouts/notes.yml diff --git a/modules/tmuxinator/personal-layouts/proglog.yml b/bak/modules/tmuxinator/personal-layouts/proglog.yml similarity index 100% rename from modules/tmuxinator/personal-layouts/proglog.yml rename to bak/modules/tmuxinator/personal-layouts/proglog.yml diff --git a/modules/tmuxinator/personal.nix b/bak/modules/tmuxinator/personal.nix similarity index 100% rename from modules/tmuxinator/personal.nix rename to bak/modules/tmuxinator/personal.nix diff --git a/modules/tmuxinator/work-layouts/devtools.yml b/bak/modules/tmuxinator/work-layouts/devtools.yml similarity index 100% rename from modules/tmuxinator/work-layouts/devtools.yml rename to bak/modules/tmuxinator/work-layouts/devtools.yml diff --git a/modules/tmuxinator/work-layouts/k8s-admin-certification.yml b/bak/modules/tmuxinator/work-layouts/k8s-admin-certification.yml similarity index 100% rename from modules/tmuxinator/work-layouts/k8s-admin-certification.yml rename to bak/modules/tmuxinator/work-layouts/k8s-admin-certification.yml diff --git a/modules/tmuxinator/work-layouts/main.yml b/bak/modules/tmuxinator/work-layouts/main.yml similarity index 100% rename from modules/tmuxinator/work-layouts/main.yml rename to bak/modules/tmuxinator/work-layouts/main.yml diff --git a/modules/tmuxinator/work-layouts/nix-config.yml b/bak/modules/tmuxinator/work-layouts/nix-config.yml similarity index 100% rename from modules/tmuxinator/work-layouts/nix-config.yml rename to bak/modules/tmuxinator/work-layouts/nix-config.yml diff --git a/modules/tmuxinator/work-layouts/notes.yml b/bak/modules/tmuxinator/work-layouts/notes.yml similarity index 100% rename from modules/tmuxinator/work-layouts/notes.yml rename to bak/modules/tmuxinator/work-layouts/notes.yml diff --git a/modules/tmuxinator/work-layouts/ride-charts.yml b/bak/modules/tmuxinator/work-layouts/ride-charts.yml similarity index 100% rename from modules/tmuxinator/work-layouts/ride-charts.yml rename to bak/modules/tmuxinator/work-layouts/ride-charts.yml diff --git a/modules/tmuxinator/work-layouts/ride.yml b/bak/modules/tmuxinator/work-layouts/ride.yml similarity index 100% rename from modules/tmuxinator/work-layouts/ride.yml rename to bak/modules/tmuxinator/work-layouts/ride.yml diff --git a/modules/tmuxinator/work.nix b/bak/modules/tmuxinator/work.nix similarity index 100% rename from modules/tmuxinator/work.nix rename to bak/modules/tmuxinator/work.nix diff --git a/modules/ungoogled-chromium/default.nix b/bak/modules/ungoogled-chromium/default.nix similarity index 100% rename from modules/ungoogled-chromium/default.nix rename to bak/modules/ungoogled-chromium/default.nix diff --git a/modules/unix/audio.nix b/bak/modules/unix/audio.nix similarity index 100% rename from modules/unix/audio.nix rename to bak/modules/unix/audio.nix diff --git a/modules/unix/base.nix b/bak/modules/unix/base.nix similarity index 100% rename from modules/unix/base.nix rename to bak/modules/unix/base.nix diff --git a/modules/unix/bluetooth.nix b/bak/modules/unix/bluetooth.nix similarity index 100% rename from modules/unix/bluetooth.nix rename to bak/modules/unix/bluetooth.nix diff --git a/modules/unix/default.nix b/bak/modules/unix/default.nix similarity index 100% rename from modules/unix/default.nix rename to bak/modules/unix/default.nix diff --git a/modules/unix/nvidia.nix b/bak/modules/unix/nvidia.nix similarity index 100% rename from modules/unix/nvidia.nix rename to bak/modules/unix/nvidia.nix diff --git a/modules/unix/printing.nix b/bak/modules/unix/printing.nix similarity index 100% rename from modules/unix/printing.nix rename to bak/modules/unix/printing.nix diff --git a/modules/unix/shell.nix b/bak/modules/unix/shell.nix similarity index 100% rename from modules/unix/shell.nix rename to bak/modules/unix/shell.nix diff --git a/modules/unix/tablet.nix b/bak/modules/unix/tablet.nix similarity index 100% rename from modules/unix/tablet.nix rename to bak/modules/unix/tablet.nix diff --git a/modules/ups/default.nix b/bak/modules/ups/default.nix similarity index 100% rename from modules/ups/default.nix rename to bak/modules/ups/default.nix diff --git a/modules/uptime-kuma/default.nix b/bak/modules/uptime-kuma/default.nix similarity index 100% rename from modules/uptime-kuma/default.nix rename to bak/modules/uptime-kuma/default.nix diff --git a/modules/vaultwarden/default.nix b/bak/modules/vaultwarden/default.nix similarity index 100% rename from modules/vaultwarden/default.nix rename to bak/modules/vaultwarden/default.nix diff --git a/modules/wezterm/config/appearance.lua b/bak/modules/wezterm/config/appearance.lua similarity index 100% rename from modules/wezterm/config/appearance.lua rename to bak/modules/wezterm/config/appearance.lua diff --git a/modules/wezterm/config/helpers.lua b/bak/modules/wezterm/config/helpers.lua similarity index 100% rename from modules/wezterm/config/helpers.lua rename to bak/modules/wezterm/config/helpers.lua diff --git a/modules/wezterm/config/keybindings.lua b/bak/modules/wezterm/config/keybindings.lua similarity index 100% rename from modules/wezterm/config/keybindings.lua rename to bak/modules/wezterm/config/keybindings.lua diff --git a/modules/wezterm/config/overrides.lua b/bak/modules/wezterm/config/overrides.lua similarity index 100% rename from modules/wezterm/config/overrides.lua rename to bak/modules/wezterm/config/overrides.lua diff --git a/modules/wezterm/config/projects.lua b/bak/modules/wezterm/config/projects.lua similarity index 100% rename from modules/wezterm/config/projects.lua rename to bak/modules/wezterm/config/projects.lua diff --git a/modules/wezterm/config/startup.lua b/bak/modules/wezterm/config/startup.lua similarity index 100% rename from modules/wezterm/config/startup.lua rename to bak/modules/wezterm/config/startup.lua diff --git a/modules/wezterm/config/tab_bar.lua b/bak/modules/wezterm/config/tab_bar.lua similarity index 100% rename from modules/wezterm/config/tab_bar.lua rename to bak/modules/wezterm/config/tab_bar.lua diff --git a/modules/wezterm/config/theme.lua b/bak/modules/wezterm/config/theme.lua similarity index 100% rename from modules/wezterm/config/theme.lua rename to bak/modules/wezterm/config/theme.lua diff --git a/modules/wezterm/config/wezterm.lua b/bak/modules/wezterm/config/wezterm.lua similarity index 100% rename from modules/wezterm/config/wezterm.lua rename to bak/modules/wezterm/config/wezterm.lua diff --git a/modules/wezterm/default.nix b/bak/modules/wezterm/default.nix similarity index 100% rename from modules/wezterm/default.nix rename to bak/modules/wezterm/default.nix diff --git a/modules/wm/awww/default.nix b/bak/modules/wm/awww/default.nix similarity index 100% rename from modules/wm/awww/default.nix rename to bak/modules/wm/awww/default.nix diff --git a/modules/wm/awww/scripts/random-bg.sh b/bak/modules/wm/awww/scripts/random-bg.sh similarity index 100% rename from modules/wm/awww/scripts/random-bg.sh rename to bak/modules/wm/awww/scripts/random-bg.sh diff --git a/modules/wm/cliphist/default.nix b/bak/modules/wm/cliphist/default.nix similarity index 100% rename from modules/wm/cliphist/default.nix rename to bak/modules/wm/cliphist/default.nix diff --git a/modules/wm/default.nix b/bak/modules/wm/default.nix similarity index 100% rename from modules/wm/default.nix rename to bak/modules/wm/default.nix diff --git a/modules/wm/fuzzel/default.nix b/bak/modules/wm/fuzzel/default.nix similarity index 100% rename from modules/wm/fuzzel/default.nix rename to bak/modules/wm/fuzzel/default.nix diff --git a/modules/wm/fuzzel/scripts/fuzzel-cliphist.sh b/bak/modules/wm/fuzzel/scripts/fuzzel-cliphist.sh similarity index 100% rename from modules/wm/fuzzel/scripts/fuzzel-cliphist.sh rename to bak/modules/wm/fuzzel/scripts/fuzzel-cliphist.sh diff --git a/modules/wm/fuzzel/scripts/fuzzel-projects.sh b/bak/modules/wm/fuzzel/scripts/fuzzel-projects.sh similarity index 100% rename from modules/wm/fuzzel/scripts/fuzzel-projects.sh rename to bak/modules/wm/fuzzel/scripts/fuzzel-projects.sh diff --git a/modules/wm/fuzzel/scripts/fuzzel-ssh.sh b/bak/modules/wm/fuzzel/scripts/fuzzel-ssh.sh similarity index 100% rename from modules/wm/fuzzel/scripts/fuzzel-ssh.sh rename to bak/modules/wm/fuzzel/scripts/fuzzel-ssh.sh diff --git a/modules/wm/ironbar/config/config.toml b/bak/modules/wm/ironbar/config/config.toml similarity index 100% rename from modules/wm/ironbar/config/config.toml rename to bak/modules/wm/ironbar/config/config.toml diff --git a/modules/wm/ironbar/config/style.css b/bak/modules/wm/ironbar/config/style.css similarity index 100% rename from modules/wm/ironbar/config/style.css rename to bak/modules/wm/ironbar/config/style.css diff --git a/modules/wm/ironbar/default.nix b/bak/modules/wm/ironbar/default.nix similarity index 100% rename from modules/wm/ironbar/default.nix rename to bak/modules/wm/ironbar/default.nix diff --git a/modules/wm/ly/default.nix b/bak/modules/wm/ly/default.nix similarity index 100% rename from modules/wm/ly/default.nix rename to bak/modules/wm/ly/default.nix diff --git a/modules/wm/niri-system/default.nix b/bak/modules/wm/niri-system/default.nix similarity index 100% rename from modules/wm/niri-system/default.nix rename to bak/modules/wm/niri-system/default.nix diff --git a/modules/wm/niri/config/config.kdl b/bak/modules/wm/niri/config/config.kdl similarity index 100% rename from modules/wm/niri/config/config.kdl rename to bak/modules/wm/niri/config/config.kdl diff --git a/modules/wm/niri/default.nix b/bak/modules/wm/niri/default.nix similarity index 100% rename from modules/wm/niri/default.nix rename to bak/modules/wm/niri/default.nix diff --git a/modules/wm/noctalia/default.nix b/bak/modules/wm/noctalia/default.nix similarity index 100% rename from modules/wm/noctalia/default.nix rename to bak/modules/wm/noctalia/default.nix diff --git a/modules/wm/swaync/config.json b/bak/modules/wm/swaync/config.json similarity index 100% rename from modules/wm/swaync/config.json rename to bak/modules/wm/swaync/config.json diff --git a/modules/wm/swaync/default.nix b/bak/modules/wm/swaync/default.nix similarity index 100% rename from modules/wm/swaync/default.nix rename to bak/modules/wm/swaync/default.nix diff --git a/modules/wm/swaync/style.css b/bak/modules/wm/swaync/style.css similarity index 100% rename from modules/wm/swaync/style.css rename to bak/modules/wm/swaync/style.css diff --git a/modules/wm/waybar/config/config.jsonc b/bak/modules/wm/waybar/config/config.jsonc similarity index 100% rename from modules/wm/waybar/config/config.jsonc rename to bak/modules/wm/waybar/config/config.jsonc diff --git a/modules/wm/waybar/config/power_menu.xml b/bak/modules/wm/waybar/config/power_menu.xml similarity index 100% rename from modules/wm/waybar/config/power_menu.xml rename to bak/modules/wm/waybar/config/power_menu.xml diff --git a/modules/wm/waybar/config/style.css b/bak/modules/wm/waybar/config/style.css similarity index 100% rename from modules/wm/waybar/config/style.css rename to bak/modules/wm/waybar/config/style.css diff --git a/modules/wm/waybar/default.nix b/bak/modules/wm/waybar/default.nix similarity index 100% rename from modules/wm/waybar/default.nix rename to bak/modules/wm/waybar/default.nix diff --git a/modules/zellij/config.kdl b/bak/modules/zellij/config.kdl similarity index 100% rename from modules/zellij/config.kdl rename to bak/modules/zellij/config.kdl diff --git a/modules/zellij/default.nix b/bak/modules/zellij/default.nix similarity index 100% rename from modules/zellij/default.nix rename to bak/modules/zellij/default.nix diff --git a/modules/zen/default.nix b/bak/modules/zen/default.nix similarity index 100% rename from modules/zen/default.nix rename to bak/modules/zen/default.nix diff --git a/modules/zoxide/default.nix b/bak/modules/zoxide/default.nix similarity index 100% rename from modules/zoxide/default.nix rename to bak/modules/zoxide/default.nix diff --git a/secrets/restic/password.age b/bak/secrets/restic/password.age similarity index 100% rename from secrets/restic/password.age rename to bak/secrets/restic/password.age diff --git a/secrets/secrets.nix b/bak/secrets/secrets.nix similarity index 100% rename from secrets/secrets.nix rename to bak/secrets/secrets.nix diff --git a/secrets/vaultwarden/env.age b/bak/secrets/vaultwarden/env.age similarity index 100% rename from secrets/vaultwarden/env.age rename to bak/secrets/vaultwarden/env.age diff --git a/server-files/account.sqlite b/bak/server-files/account.sqlite similarity index 100% rename from server-files/account.sqlite rename to bak/server-files/account.sqlite diff --git a/flake.nix b/flake.nix index 014bab0..e341279 100644 --- a/flake.nix +++ b/flake.nix @@ -1,109 +1,12 @@ { - description = "dnsc-server NixOS flake"; + description = "dnsc IaC config utilizing, Nix (flakes), NixOS, Nix Darwin and flake-parts"; inputs = { - agenix.url = "github:ryantm/agenix"; - nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11"; - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nix-darwin.url = "github:LnL7/nix-darwin/master"; - nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; - ip-whitelist.url = "github:Oak-Digital/nixos-ip-whitelist-firewall"; - nix-homebrew.url = "github:zhaofengli/nix-homebrew"; - zellij-switch.url = "github:mostafaqanbaryan/zellij-switch"; - zen-browser.url = "github:0xc000022070/zen-browser-flake"; - firefox-addons.url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; - nixvim.url = "github:nix-community/nixvim"; - noctalia = { - url = "github:noctalia-dev/noctalia-shell"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + flake-parts.url = "github:hercules-ci/flake-parts"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + import-tree.url = "github:vic/import-tree"; + flake-file.url = "github:vic/flake-file"; }; - outputs = - { - self, - nixpkgs, - home-manager, - nix-darwin, - nix-homebrew, - agenix, - zellij-switch, - nixvim, - noctalia, - ... - }@inputs: - let - inherit (self) outputs; - in - { - # Custom nixosModules - nixosModules.base = import ./modules/base; - nixosModules.macos = import ./modules/macos; - nixosModules.homebrew = import ./modules/homebrew; - nixosModules.aerospace = import ./modules/aerospace; - nixosModules.keyd = import ./modules/keyd; - nixosModules.ly = import ./modules/wm/ly; - nixosModules.unix = import ./modules/unix; - nixosModules.nvidia = import ./modules/unix/nvidia.nix; - nixosModules.bluetooth = import ./modules/unix/bluetooth.nix; - nixosModules.audio = import ./modules/unix/audio.nix; - nixosModules.printing = import ./modules/unix/printing.nix; - nixosModules.tablet = import ./modules/unix/tablet.nix; - nixosModules.steam = import ./modules/steam; - nixosModules.niriSystem = import ./modules/wm/niri-system; - nixosModules.direnv = import ./modules/direnv; - - nixosConfigurations.dnsc-machine = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs outputs; }; - modules = [ - ./hosts/dnsc-machine - ]; - }; - - nixosConfigurations.dnsc-server = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs outputs; }; - modules = [ - ./hosts/dnsc-server - agenix.nixosModules.default - ]; - }; - - nixosConfigurations.dnsc-vps-sm = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs outputs; }; - modules = [ - ./hosts/dnsc-vps-sm - agenix.nixosModules.default - ]; - }; - - darwinConfigurations.dnsc-air = nix-darwin.lib.darwinSystem { - system = "aarch64-darwin"; - specialArgs = { inherit inputs outputs; }; - modules = [ - nix-homebrew.darwinModules.nix-homebrew - ./hosts/dnsc-air - ]; - }; - - darwinConfigurations.dnsc-work = nix-darwin.lib.darwinSystem { - system = "aarch64-darwin"; - specialArgs = { inherit inputs outputs; }; - modules = [ - nix-homebrew.darwinModules.nix-homebrew - ./hosts/dnsc-work - ]; - }; - - homeConfigurations."dnsc-deck" = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; - modules = [ ./home/deck.nix ]; - }; - }; + outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules); } diff --git a/modules/hosts/dnsc-air.nix b/modules/hosts/dnsc-air.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/neovim/default.nix b/modules/neovim/default.nix new file mode 100644 index 0000000..73e4c72 --- /dev/null +++ b/modules/neovim/default.nix @@ -0,0 +1,34 @@ +{ + inputs, + lib, + config, + ... +}: + +with lib; + +let + cfg = config.neovim; +in +{ + options.neovim = { + enable = mkOption { + type = types.bool; + default = false; + description = "Enable neovim"; + }; + extraPackages = mkOption { + type = types.listOf types.package; + default = [ ]; + description = "Additional packages to install alongside neovim on the system."; + }; + }; + + flake-file.inputs.nixvim.url = "github:nix-community/nixvim"; + flake.modules.homeManager.neovim = { + imports = [ inputs.nixvim.homeModules.nixvim ]; + programs.nixvim = { + enable = cfg.enable; + }; + }; +} diff --git a/modules/systems.nix b/modules/systems.nix new file mode 100644 index 0000000..9cfcc0c --- /dev/null +++ b/modules/systems.nix @@ -0,0 +1,7 @@ +{ + # Currently using ARM on MacOS and x86 on Linux + systems = [ + "aarch64-darwin" + "x86_64-linux" + ]; +}