diff --git a/flake.nix b/flake.nix index 0c7987d..ed34e1c 100644 --- a/flake.nix +++ b/flake.nix @@ -20,14 +20,6 @@ forEachSystem = f: lib.genAttrs systems (system: f); forAllSystems = lib.genAttrs systems; lib = nixpkgs.lib // home-manager.lib; - mkHost = { hostname, user ? "sammy", }: { - imports = [ ./hosts/${hostname}/configuration.nix ./modules/nixos/common.nix (import "${home-manager}/nixos") ]; - - deployment = { - targetUser = user; - allowLocalDeployment = true; - }; - }; in rec { inherit lib; @@ -36,18 +28,38 @@ devShells = forAllSystems (system: let pkgs = import nixpkgs { system = system; }; in { - default = pkgs.mkShell { nativeBuildInputs = [ pkgs.nix pkgs.colmena pkgs.git pkgs.home-manager ]; }; + default = pkgs.mkShell { + nativeBuildInputs = [ pkgs.nix pkgs.colmena pkgs.git pkgs.home-manager pkgs.nixos-rebuild ]; + shellHook = "exec $SHELL"; + }; }); colmenaHive = colmena.lib.makeHive { meta = { description = "All my NixoS machines"; - specialArgs = { inherit inputs outputs; }; + specialArgs = { + inherit inputs outputs; + pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; }; + }; nixpkgs = import nixpkgs { system = "x86_64-linux"; }; }; - bengal = mkHost { hostname = "bengal"; }; - maine-coon = mkHost { hostname = "maine-coon"; }; + defaults = { lib, config, name, ... }: { + imports = [ ./hosts/${name}/configuration.nix ./modules/nixos/common.nix (import "${home-manager}/nixos") ]; + + deployment = { + targetUser = "sammy"; + allowLocalDeployment = true; + }; + + home-manager.extraSpecialArgs = { + inherit inputs outputs; + pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; }; + }; + }; + + bengal = { }; + maine-coon = { }; }; nixosConfigurations = { @@ -64,6 +76,10 @@ lib.homeManagerConfiguration { inherit pkgs; modules = [ ./modules/users/sammy.nix ]; + extraSpecialArgs = { + inherit inputs outputs; + pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; }; + }; }; }; } diff --git a/modules/home/nvim/default.nix b/modules/home/nvim/default.nix index 0ba0a5b..fd1a870 100644 --- a/modules/home/nvim/default.nix +++ b/modules/home/nvim/default.nix @@ -1,102 +1,123 @@ -{ config -, pkgs -, inputs -, ... -}: { - programs.neovim = - let - toLua = str: "lua << EOF\n${str}\nEOF\n"; - toLuaFile = file: "lua << EOF\n${builtins.readFile file}\nEOF\n"; - in - { - enable = true; +{ config, lib, pkgs, pkgs-unstable, ... }: - viAlias = true; - vimAlias = true; - vimdiffAlias = true; +{ + programs.neovim = { + enable = true; + package = pkgs-unstable.neovim-unwrapped; + extraPackages = with pkgs; [ + # LazyVim + lua-language-server + stylua + # Telescope + ripgrep + ]; - extraPackages = with pkgs; [ - lua-language-server - rnix-lsp + plugins = with pkgs.vimPlugins; [ + lazy-nvim + ]; - xclip - wl-clipboard - - rustfmt - black - isort - alejandra - prettierd - codespell - stylua - ]; - - plugins = with pkgs.vimPlugins; [ - plenary-nvim - persistence-nvim - nvim-web-devicons - nui-nvim - - { - plugin = comment-nvim; - config = toLua "require(\"Comment\").setup()"; - } - - { - plugin = catppuccin-nvim; - config = "colorscheme catppuccin-mocha"; - } - - { - plugin = which-key-nvim; - config = toLua "require(\"which-key\").setup()"; - } - - { - plugin = neo-tree-nvim; - config = toLuaFile ./plugins/neo-tree.lua; - } - - { - plugin = conform-nvim; - config = toLuaFile ./plugins/conform.lua; - } - - { - plugin = dressing-nvim; - config = toLua "require(\"dressing\").setup()"; - } - - { - plugin = bufferline-nvim; - config = toLua "require(\"bufferline\").setup()"; - } - - { - plugin = lualine-nvim; - config = toLua "require(\"lualine\").setup()"; - } - - { - plugin = indent-blankline-nvim; - config = toLua "require(\"ibl\").setup()"; - } - { - plugin = noice-nvim; - config = toLuaFile ./plugins/noice.lua; - } - { - plugin = dashboard-nvim; - config = toLuaFile ./plugins/dashboard.lua; - } - - nvim-notify - vim-nix - ]; - - extraLuaConfig = '' - ${builtins.readFile ./options.lua} - ${builtins.readFile ./keymap.lua} + extraLuaConfig = + let + plugins = with pkgs.vimPlugins; [ + # LazyVim + LazyVim + bufferline-nvim + cmp-buffer + cmp-nvim-lsp + cmp-path + cmp_luasnip + conform-nvim + dashboard-nvim + dressing-nvim + flash-nvim + friendly-snippets + gitsigns-nvim + indent-blankline-nvim + lualine-nvim + neo-tree-nvim + neoconf-nvim + neodev-nvim + noice-nvim + nui-nvim + nvim-cmp + nvim-lint + nvim-lspconfig + nvim-notify + nvim-spectre + nvim-treesitter + nvim-treesitter-context + nvim-treesitter-textobjects + nvim-ts-autotag + nvim-ts-context-commentstring + nvim-web-devicons + persistence-nvim + plenary-nvim + telescope-fzf-native-nvim + telescope-nvim + todo-comments-nvim + tokyonight-nvim + trouble-nvim + vim-illuminate + vim-startuptime + which-key-nvim + { name = "LuaSnip"; path = luasnip; } + { name = "catppuccin"; path = catppuccin-nvim; } + { name = "mini.ai"; path = mini-nvim; } + { name = "mini.bufremove"; path = mini-nvim; } + { name = "mini.comment"; path = mini-nvim; } + { name = "mini.indentscope"; path = mini-nvim; } + { name = "mini.pairs"; path = mini-nvim; } + { name = "mini.surround"; path = mini-nvim; } + ]; + mkEntryFromDrv = drv: + if lib.isDerivation drv then + { name = "${lib.getName drv}"; path = drv; } + else + drv; + lazyPath = pkgs.linkFarm "lazy-plugins" (builtins.map mkEntryFromDrv plugins); + in + '' + require("lazy").setup({ + defaults = { + lazy = true, + }, + dev = { + -- reuse files from pkgs.vimPlugins.* + path = "${lazyPath}", + patterns = { "." }, + -- fallback to download + fallback = true, + }, + spec = { + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- The following configs are needed for fixing lazyvim on nix + -- force enable telescope-fzf-native.nvim + { "nvim-telescope/telescope-fzf-native.nvim", enabled = true }, + -- disable mason.nvim, use programs.neovim.extraPackages + { "williamboman/mason-lspconfig.nvim", enabled = false }, + { "williamboman/mason.nvim", enabled = false }, + -- import/override with your plugins + { import = "plugins" }, + -- treesitter handled by xdg.configFile."nvim/parser", put this line at the end of spec to clear ensure_installed + { "nvim-treesitter/nvim-treesitter", opts = { ensure_installed = {} } }, + }, + }) ''; - }; + }; + + # https://github.com/nvim-treesitter/nvim-treesitter#i-get-query-error-invalid-node-type-at-position + xdg.configFile."nvim/parser".source = + let + parsers = pkgs.symlinkJoin { + name = "treesitter-parsers"; + paths = (pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins: with plugins; [ + c + lua + ])).dependencies; + }; + in + "${parsers}/parser"; + + # Normal LazyVim config here, see https://github.com/LazyVim/starter/tree/main/lua + xdg.configFile."nvim/lua".source = ./lua; } diff --git a/modules/home/nvim/lua/config/autocmds.lua b/modules/home/nvim/lua/config/autocmds.lua new file mode 100644 index 0000000..27e9e06 --- /dev/null +++ b/modules/home/nvim/lua/config/autocmds.lua @@ -0,0 +1,3 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here diff --git a/modules/home/nvim/keymap.lua b/modules/home/nvim/lua/config/keymaps.lua similarity index 52% rename from modules/home/nvim/keymap.lua rename to modules/home/nvim/lua/config/keymaps.lua index 7c871fb..2cefb32 100644 --- a/modules/home/nvim/keymap.lua +++ b/modules/home/nvim/lua/config/keymaps.lua @@ -1,11 +1,11 @@ -local map = vim.keymap.set -local wk = require("which-key") +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here --- better up/down -map({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) -map({ "n", "x" }, "", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) -map({ "n", "x" }, "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) -map({ "n", "x" }, "", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) +-- This file is automatically loaded by lazyvim.config.init +local Util = require("lazyvim.util") + +local map = vim.keymap.set -- Move to window using the hjkl keys map("n", "", "h", { desc = "Go to left window", remap = true }) @@ -30,68 +30,61 @@ map("v", "", ":m '<-2gv=gv", { desc = "Move up" }) -- buffers map("n", "", "bprevious", { desc = "Prev buffer" }) map("n", "", "bnext", { desc = "Next buffer" }) - --- Clear search with -map({ "i", "n" }, "", "noh", { desc = "Escape and clear hlsearch" }) +map("n", "bb", "e #", { desc = "Switch to Other Buffer" }) +map("n", "`", "e #", { desc = "Switch to Other Buffer" }) -- save file map({ "i", "x", "n", "s" }, "", "w", { desc = "Save file" }) --- quit all -map("n", "qq", "qa", { desc = "Quit all" }) - ---keywordprg -map("n", "K", "norm! K", { desc = "Keywordprg" }) - --- better indenting -map("v", "<", "", ">gv") - -wk.register({["f"] = { name = "File" }}) -- new file map("n", "fn", "enew", { desc = "New File" }) map("n", "xl", "lopen", { desc = "Location List" }) map("n", "xq", "copen", { desc = "Quickfix List" }) +if not Util.has("trouble.nvim") then + map("n", "[q", vim.cmd.cprev, { desc = "Previous quickfix" }) + map("n", "]q", vim.cmd.cnext, { desc = "Next quickfix" }) +end + +-- diagnostic +local diagnostic_goto = function(next, severity) + local go = next and vim.diagnostic.goto_next or vim.diagnostic.goto_prev + severity = severity and vim.diagnostic.severity[severity] or nil + return function() + go({ severity = severity }) + end +end +map("n", "cd", vim.diagnostic.open_float, { desc = "Line Diagnostics" }) +map("n", ")d", diagnostic_goto(true), { desc = "Next Diagnostic" }) +map("n", "(d", diagnostic_goto(false), { desc = "Prev Diagnostic" }) +map("n", ")e", diagnostic_goto(true, "ERROR"), { desc = "Next Error" }) +map("n", "(e", diagnostic_goto(false, "ERROR"), { desc = "Prev Error" }) +map("n", ")w", diagnostic_goto(true, "WARN"), { desc = "Next Warning" }) +map("n", "(w", diagnostic_goto(false, "WARN"), { desc = "Prev Warning" }) + +-- windows map("n", "ww", "p", { desc = "Other window", remap = true }) map("n", "wd", "c", { desc = "Delete window", remap = true }) -map("n", "w-", "s", { desc = "Split window below", remap = true }) -map("n", "w|", "v", { desc = "Split window right", remap = true }) map("n", "-", "s", { desc = "Split window below", remap = true }) -map("n", "|", "v", { desc = "Split window right", remap = true }) +map("n", ".", "v", { desc = "Split window right", remap = true }) -- tabs -wk.register({[""] = { name = "Tabs" }}) map("n", "l", "tablast", { desc = "Last Tab" }) map("n", "f", "tabfirst", { desc = "First Tab" }) map("n", "", "tabnew", { desc = "New Tab" }) -map("n", "]", "tabnext", { desc = "Next Tab" }) +map("n", "n", "tabnext", { desc = "Next Tab" }) map("n", "d", "tabclose", { desc = "Close Tab" }) -map("n", "[", "tabprevious", { desc = "Previous Tab" }) +map("n", "p", "tabprevious", { desc = "Previous Tab" }) +-- Unmapping some lazyvim default keymaps +local unmap = vim.keymap.del --- NeoTree -map("n", "fe", - function() - require("neo-tree.command").execute({ toggle = true, dir = vim.loop.cwd() }) - end, { desc = "NeoTree" } -) -map("n", "e", "fe", { desc = "NeoTree", remap = true }) - -map("n", "ge", - function() - require("neo-tree.command").execute({ source = "git_status", toggle = true }) - end, { desc = "Git explorer" } -) -map("n", "be", - function() - require("neo-tree.command").execute({ source = "buffers", toggle = true }) - end, { desc = "Buffer explorer" } -) - -map({"n", "v"}, "cf", - function() - require("conform").format({ async = true, lsp_fallback = true, range = range }) - end, { desc = "Format Code" } -) +unmap("n", "[b") +unmap("n", "]b") +unmap("n", "/") +unmap("n", "|") +unmap("n", "L") +unmap("n", "`") +unmap("n", "[") +unmap("n", "]") diff --git a/modules/home/nvim/lua/config/lazy.lua b/modules/home/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..5e08762 --- /dev/null +++ b/modules/home/nvim/lua/config/lazy.lua @@ -0,0 +1,56 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + -- bootstrap lazy.nvim + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) +end +vim.opt.rtp:prepend(vim.env.LAZY or lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import any extras modules here + { import = "lazyvim.plugins.extras.formatting.black" }, + { import = "lazyvim.plugins.extras.formatting.prettier" }, + + { import = "lazyvim.plugins.extras.lang.docker" }, + { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.lang.markdown" }, + { import = "lazyvim.plugins.extras.lang.python" }, + { import = "lazyvim.plugins.extras.lang.rust" }, + { import = "lazyvim.plugins.extras.lang.tailwind" }, + { import = "lazyvim.plugins.extras.lang.typescript" }, + { import = "lazyvim.plugins.extras.lang.yaml" }, + + { import = "lazyvim.plugins.extras.linting.eslint" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "catppuccin" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/modules/home/nvim/lua/config/options.lua b/modules/home/nvim/lua/config/options.lua new file mode 100644 index 0000000..ce614ea --- /dev/null +++ b/modules/home/nvim/lua/config/options.lua @@ -0,0 +1,13 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here +-- This file is automatically loaded by plugins.core +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +vim.g.autoformat = false + +local opt = vim.opt + +opt.spelllang = { "en", "de" } +opt.autoread = true diff --git a/modules/home/nvim/lua/plugins/ansible.lua b/modules/home/nvim/lua/plugins/ansible.lua new file mode 100644 index 0000000..d195c09 --- /dev/null +++ b/modules/home/nvim/lua/plugins/ansible.lua @@ -0,0 +1,9 @@ +-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + { "pearofducks/ansible-vim", name = "ansible" } +} diff --git a/modules/home/nvim/plugins/dashboard.lua b/modules/home/nvim/lua/plugins/dashboard.lua similarity index 100% rename from modules/home/nvim/plugins/dashboard.lua rename to modules/home/nvim/lua/plugins/dashboard.lua diff --git a/modules/home/nvim/lua/plugins/example.lua b/modules/home/nvim/lua/plugins/example.lua new file mode 100644 index 0000000..d910c1c --- /dev/null +++ b/modules/home/nvim/lua/plugins/example.lua @@ -0,0 +1,18 @@ +-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- add catppuccin + { "catppuccin/nvim", name = "catppuccin", priority = 1000 }, + + -- Configure LazyVim to load catppuccin + { + "LazyVim/LazyVim", + opts = { + colorscheme = "catppuccin", + }, + } +} diff --git a/modules/home/nvim/options.lua b/modules/home/nvim/options.lua deleted file mode 100644 index 8c2e091..0000000 --- a/modules/home/nvim/options.lua +++ /dev/null @@ -1,54 +0,0 @@ --- partially taken from https://www.lazyvim.org and merged with my own config --- -vim.g.mapleader = " " -vim.g.maplocalleader = "\\" - --- root dir detection -vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" } - -local opt = vim.opt - -opt.autowrite = true -- Enable auto write -opt.autoread = true -opt.clipboard = "unnamedplus" -- Sync with system clipboard -opt.completeopt = "menu,menuone,noselect" -opt.conceallevel = 3 -- Hide * markup for bold and italic -opt.confirm = true -- Confirm to save changes before exiting modified buffer -opt.cursorline = true -- Enable highlighting of the current line -opt.ignorecase = true -- Ignore case in search -opt.inccommand = "nosplit" -- preview incremental substitute -opt.laststatus = 3 -- global statusline -opt.list = true -- Show some invisible characters (tabs... -opt.mouse = "a" -- Enable mouse mode -opt.number = true -- Print line number -opt.pumblend = 10 -- Popup blend -opt.pumheight = 10 -- Maximum number of entries in a popup -opt.relativenumber = true -- Relative line numbers -opt.scrolloff = 4 -- Lines of context -opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp", "folds" } -opt.shiftround = true -- Round indent -opt.shiftwidth = 2 -- Size of an indent -opt.shortmess:append({ W = true, I = true, c = true, C = true }) -opt.showmode = false -- Dont show mode since we have a statusline -opt.sidescrolloff = 8 -- Columns of context -opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time -opt.smartcase = true -- Don't ignore case with capitals -opt.smartindent = true -- Insert indents automatically -opt.spelllang = { "en", "de" } -opt.splitbelow = true -- Put new windows below current -opt.splitkeep = "screen" -opt.splitright = true -- Put new windows right of current -opt.tabstop = 2 -- Number of spaces tabs count for -opt.termguicolors = true -- True color support -opt.timeoutlen = 300 -opt.undofile = true -opt.undolevels = 10000 -opt.updatetime = 200 -- Save swap file and trigger CursorHold -opt.virtualedit = "block" -- Allow cursor to move where there is no text in visual block mode -opt.wildmode = "longest:full,full" -- Command-line completion mode -opt.winminwidth = 5 -- Minimum window width -opt.wrap = false -- Disable line wrap - --- Fix markdown indentation settings -vim.g.markdown_recommended_style = 0 - diff --git a/modules/home/nvim/plugins/conform.lua b/modules/home/nvim/plugins/conform.lua deleted file mode 100644 index 0ce9e2a..0000000 --- a/modules/home/nvim/plugins/conform.lua +++ /dev/null @@ -1,12 +0,0 @@ -require("conform").setup({ - formatters_by_ft = { - lua = { "stylua" }, - python = { "isort", "black" }, - javascript = { "prettier" }, - rust = { "rustfmt" }, - nix = { "alejandra" }, - ["*"] = { "codespell" }, - }, - log_level = vim.log.levels.ERROR, - notify_on_error = true, -}) diff --git a/modules/home/nvim/plugins/neo-tree.lua b/modules/home/nvim/plugins/neo-tree.lua deleted file mode 100644 index 5e7e242..0000000 --- a/modules/home/nvim/plugins/neo-tree.lua +++ /dev/null @@ -1,41 +0,0 @@ -local opts = { - sources = { "filesystem", "buffers", "git_status", "document_symbols" }, - open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" }, - filesystem = { - bind_to_cwd = false, - follow_current_file = { enabled = true }, - use_libuv_file_watcher = true, - }, - window = { - mappings = { - [""] = "none", - }, - }, - default_component_configs = { - indent = { - indent_size = 2, - padding = 1, -- extra padding on left hand side - -- indent guides - with_markers = true, - indent_marker = "│", - last_indent_marker = "└", - highlight = "NeoTreeIndentMarker", - -- expander config, needed for nesting files - with_expanders = nil, -- if nil and file nesting is enabled, will enable expanders - expander_collapsed = "", - expander_expanded = "", - expander_highlight = "NeoTreeExpander", - }, - icon = { - folder_closed = "", - folder_open = "", - folder_empty = "󰜌", - -- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there - -- then these will never be used. - default = "*", - highlight = "NeoTreeFileIcon", - }, - }, -} - -require("neo-tree").setup(opts) diff --git a/modules/home/nvim/plugins/noice.lua b/modules/home/nvim/plugins/noice.lua deleted file mode 100644 index 9b8e296..0000000 --- a/modules/home/nvim/plugins/noice.lua +++ /dev/null @@ -1,18 +0,0 @@ -require("noice").setup({ - lsp = { - -- override markdown rendering so that **cmp** and other plugins use **Treesitter** - override = { - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - ["cmp.entry.get_documentation"] = true, - }, - }, - -- you can enable a preset for easier configuration - presets = { - bottom_search = true, -- use a classic bottom cmdline for search - command_palette = true, -- position the cmdline and popupmenu together - long_message_to_split = true, -- long messages will be sent to a split - inc_rename = false, -- enables an input dialog for inc-rename.nvim - lsp_doc_border = false, -- add a border to hover docs and signature help - }, -}) diff --git a/modules/nixos/common.nix b/modules/nixos/common.nix index b806e22..f19352a 100644 --- a/modules/nixos/common.nix +++ b/modules/nixos/common.nix @@ -19,7 +19,7 @@ in ./security.nix ../users ./yubikey.nix - ../virtualization.nix + ./virtualization.nix ]; config = { diff --git a/modules/virtualization.nix b/modules/nixos/virtualization.nix similarity index 83% rename from modules/virtualization.nix rename to modules/nixos/virtualization.nix index 6c5318e..86fd809 100644 --- a/modules/virtualization.nix +++ b/modules/nixos/virtualization.nix @@ -7,6 +7,6 @@ cores = 6; graphics = true; }; - users.users.sammy.password = "test"; + users.users.sammy.initialPassword = "test"; }; }