diff options
| author | andromeda <andromeda@lenovo> | 2026-05-01 13:37:31 +0200 |
|---|---|---|
| committer | andromeda <andromeda@lenovo> | 2026-05-01 13:37:31 +0200 |
| commit | a98b53de9991167471e840ae3c18798c8d9fc1b7 (patch) | |
| tree | a171feae252b59d277e3c2790d8f1224da315ea0 /nix/home.nix | |
new conf
Diffstat (limited to 'nix/home.nix')
| -rw-r--r-- | nix/home.nix | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/nix/home.nix b/nix/home.nix new file mode 100644 index 0000000..e842e34 --- /dev/null +++ b/nix/home.nix @@ -0,0 +1,220 @@ +{ + config, + lib, + pkgs, + ... +}: let + sources = import ./npins; + background-path = ".config/sway/background.png"; + sway_config = + pkgs.substitute + { + src = ./home/sway_config; + substitutions = [ + "--replace" + "@backgroundImagePath@" + "${config.home.homeDirectory}/${background-path}" + ]; + }; +in { + home = { + file = { + ${background-path}.source = config.stylix.image; + ".profile".enable = false; + }; + homeDirectory = "/home/${config.home.username}"; + packages = [ + pkgs.aaaaxy + #pkgs.acpi + (pkgs.callPackage "${sources.agenix}/pkgs/agenix.nix" {}) + #pkgs.alacritty + pkgs.anki + #(import "${sources.anki-cli}/package.nix") + #pkgs.c3term + #pkgs.brightnessctl + #pkgs.dust + pkgs.fluffychat + #pkgs.fzf + #pkgs.gdb + pkgs.glow + #pkgs.grim + #pkgs.hexdump + pkgs.http-server + #pkgs.jmtpfs + pkgs.mindustry-wayland + #pkgs.nasm + pkgs.nix-output-monitor + pkgs.npins + #pkgs.pciutils + #pkgs.ranger + pkgs.rip2 + #pkgs.ripgrep + #pkgs.slurp + #pkgs.tokei + #pkgs.tree + #pkgs.usbutils + #pkgs.wget + #pkgs.xxd + ]; + stateVersion = "26.05"; + username = "andromeda"; + }; + imports = [ + (import sources.nvf).homeManagerModules.nvf + (import sources.stylix).homeModules.stylix + ]; + 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"; + }; + }; + }; + gh.enable = true; + 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; + }; + stylix = { + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-hard.yaml"; + enable = true; + fonts = { + emoji = { + name = "Noto Color Emoji"; + package = pkgs.noto-fonts-color-emoji; + }; + monospace = { + name = "Miracode"; + package = pkgs.miracode; + }; + serif = config.stylix.fonts.sansSerif; + sizes = { + applications = 10; + terminal = 10; + }; + }; + image = "${pkgs.nixos-artwork.wallpapers.gear}/share/backgrounds/nixos/nix-wallpaper-gear.png"; + polarity = "dark"; + cursor = { + name = "Hackneyed"; + package = pkgs.hackneyed; + size = 16; + }; + }; + wayland.windowManager.sway.enable = true; + xdg = { + configFile = { + "sway/config".source = lib.mkForce sway_config; + }; + portal = { + enable = true; + extraPortals = [pkgs.xdg-desktop-portal-shana]; + }; + }; +} |
