diff options
| author | andromeda <andromeda@lenovo> | 2026-05-06 19:37:56 +0200 |
|---|---|---|
| committer | andromeda <andromeda@lenovo> | 2026-05-06 19:37:56 +0200 |
| commit | e5aaed7169e7a9b1ae537763ee94ea01aa401852 (patch) | |
| tree | a386a051a9e18e31ae125ec9418410cbe5b64e4d /laptop/home.nix | |
| parent | 6a6630647c79e80d7995eac21bc188b5a516d142 (diff) | |
neo layout
Diffstat (limited to 'laptop/home.nix')
| -rw-r--r-- | laptop/home.nix | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/laptop/home.nix b/laptop/home.nix new file mode 100644 index 0000000..0f98005 --- /dev/null +++ b/laptop/home.nix @@ -0,0 +1,145 @@ +{ + config, + pkgs, + ... +}: let + sources = import ../npins; +in { + home = { + file.".profile".enable = false; + homeDirectory = "/home/${config.home.username}"; + packages = [ + (pkgs.callPackage "${sources.agenix}/pkgs/agenix.nix" {}) + pkgs.anki + pkgs.mindustry-wayland + pkgs.nix-output-monitor + pkgs.npins + ]; + stateVersion = "26.05"; + username = "andromeda"; + }; + imports = [(import sources.nvf).homeManagerModules.nvf]; + programs = { + firefox = { + enable = true; + package = pkgs.firefox.override { + cfg.enableTridactylNative = true; + }; + profiles.default = { + extensions = { + force = true; + packages = [(import sources.NUR {inherit pkgs;}).repos.rycee.firefox-addons.tridactyl]; + }; + settings = { + "extensions.autoDisableScopes" = 0; + "intl.accepted_languages" = "de_DE"; + }; + }; + }; + gpg.enable = true; + home-manager.enable = true; + nvf = { + enable = true; + settings.vim = { + startPlugins = [pkgs.vimPlugins.parinfer-rust]; + autocomplete.nvim-cmp.enable = false; + formatter.conform-nvim = { + enable = true; + setupOpts.format_on_save = { + lsp_format = "fallback"; + timeout_ms = 5000; + }; + }; + lsp.otter-nvim.enable = true; + git.enable = true; + keymaps = [ + { + key = "<Down>"; + mode = ["i" "n" "v" "c"]; + action = "<NOP>"; + } + { + key = "<Up>"; + mode = ["i" "n" "v" "c"]; + action = "<NOP>"; + } + { + key = "<Left>"; + mode = ["i" "n" "v" "c"]; + action = "<NOP>"; + } + { + key = "<Right>"; + mode = ["i" "n" "v" "c"]; + action = "<NOP>"; + } + { + key = "jj"; + mode = ["i"]; + action = "<Esc>"; + } + { + key = "kk"; + mode = ["i"]; + action = "<Esc>"; + } + { + key = "jk"; + mode = ["i"]; + action = "<Esc>"; + } + { + key = "kj"; + mode = ["i"]; + action = "<Esc>"; + } + { + key = "<Esc>"; + mode = ["i"]; + action = "<Nop>"; + } + ]; + languages = { + nix = { + enable = true; + format.enable = true; + lsp.enable = true; + }; + haskell = { + enable = true; + lsp.enable = true; + }; + rust = { + enable = true; + format.enable = true; + lsp.enable = true; + treesitter.enable = true; + }; + }; + lineNumberMode = "relative"; + options = { + tabstop = 2; + shiftwidth = 2; + expandtab = true; + smarttab = true; + foldmethod = "indent"; + number = true; + colorcolumn = "80"; + }; + statusline.lualine.enable = true; + syntaxHighlighting = true; + }; + }; + ssh.enable = true; + }; + services.gpg-agent = { + enable = true; + pinentry.package = pkgs.pinentry-curses; + }; + xdg = { + portal = { + enable = true; + extraPortals = [pkgs.xdg-desktop-portal-shana]; + }; + }; +} |
