The NixOS config for my Hetzner VPS
nixos
at main 2.2 kB view raw
1{ pkgs, ... }: 2 3{ 4 # List packages installed in system profile. 5 # You can use https://search.nixos.org/ to find more packages (and options). 6 environment.systemPackages = with pkgs; [ 7 agenix 8 atuin 9 eza 10 gcc 11 git 12 httpie 13 jujutsu 14 nixfmt-rfc-style 15 ripgrep 16 rustup 17 zellij 18 ]; 19 20 programs.fish = { 21 enable = true; 22 shellInit = '' 23 fish_vi_key_bindings 24 set fish_cursor_default block 25 set fish_cursor_insert line 26 set fish_cursor_replace_one underscore 27 set fish_cursor_visual block 28 ''; 29 interactiveShellInit = '' 30 set -g fish_greeting 31 32 atuin init fish --disable-up-arrow | source 33 ''; 34 }; 35 users.defaultUserShell = pkgs.fish; 36 programs.starship.enable = true; 37 38 programs.nixvim = { 39 enable = true; 40 defaultEditor = true; 41 vimAlias = true; 42 43 colorschemes.tokyonight = { 44 enable = true; 45 settings.style = "storm"; 46 }; 47 48 lsp.servers.nixd.enable = true; 49 50 opts.number = true; 51 52 plugins = { 53 lspconfig.enable = true; 54 conform-nvim = { 55 enable = true; 56 settings = { 57 formatters_by_ft = { 58 nix = [ "nixfmt" ]; 59 }; 60 format_on_save = { 61 lsp_format = "fallback"; 62 }; 63 }; 64 }; 65 lualine.enable = true; 66 nvim-tree = { 67 enable = true; 68 settings = { 69 actions.open_file.quit_on_open = true; 70 }; 71 }; 72 sandwich.enable = true; 73 sleuth.enable = true; 74 spider = { 75 enable = true; 76 keymaps.motions = { 77 w = "w"; 78 e = "e"; 79 b = "b"; 80 ge = "ge"; 81 }; 82 }; 83 treesitter = { 84 enable = true; 85 settings = { 86 auto_install = true; 87 highlight.enable = true; 88 }; 89 }; 90 treesitter-context.enable = true; 91 web-devicons.enable = true; 92 }; 93 94 keymaps = [ 95 { 96 action = "<cmd>NvimTreeFindFile<cr>"; 97 key = "<leader>n"; 98 } 99 ]; 100 }; 101 102 programs.bat = { 103 enable = true; 104 extraPackages = with pkgs.bat-extras; [ 105 batman 106 prettybat 107 ]; 108 }; 109 110 programs.htop.enable = true; 111}