My Nix Configuration
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

[flake] remove extra DMS input, add dishvim config with nvf

dish 1c47d2dc 121a7767

+302 -58
+106 -1
flake.lock
··· 128 128 "type": "github" 129 129 } 130 130 }, 131 + "dms": { 132 + "inputs": { 133 + "nixpkgs": [ 134 + "nixpkgs" 135 + ], 136 + "quickshell": [ 137 + "quickshell" 138 + ] 139 + }, 140 + "locked": { 141 + "lastModified": 1767906690, 142 + "narHash": "sha256-GQnRxVgmG0UqzbgvxjGtXLsHNzDHQKROK72+KIoYAZk=", 143 + "owner": "AvengeMedia", 144 + "repo": "DankMaterialShell", 145 + "rev": "1ff1f3a7f2db1f9aed4823fe6cd441469352d96f", 146 + "type": "github" 147 + }, 148 + "original": { 149 + "owner": "AvengeMedia", 150 + "repo": "DankMaterialShell", 151 + "type": "github" 152 + } 153 + }, 131 154 "dn42": { 132 155 "inputs": { 133 156 "bird": "bird", ··· 249 272 }, 250 273 "flake-utils_3": { 251 274 "inputs": { 252 - "systems": "systems_5" 275 + "systems": "systems_6" 253 276 }, 254 277 "locked": { 255 278 "lastModified": 1731533236, ··· 447 470 "url": "https://github.com/lucide-icons/lucide/releases/download/0.536.0/lucide-icons-0.536.0.zip" 448 471 } 449 472 }, 473 + "mnw": { 474 + "locked": { 475 + "lastModified": 1758834834, 476 + "narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=", 477 + "owner": "Gerg-L", 478 + "repo": "mnw", 479 + "rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001", 480 + "type": "github" 481 + }, 482 + "original": { 483 + "owner": "Gerg-L", 484 + "repo": "mnw", 485 + "type": "github" 486 + } 487 + }, 450 488 "my-pkgs": { 451 489 "inputs": { 452 490 "nixpkgs": [ ··· 467 505 "url": "https://git.pyrox.dev/pyrox/pkgs" 468 506 } 469 507 }, 508 + "ndg": { 509 + "inputs": { 510 + "nixpkgs": [ 511 + "nvf", 512 + "nixpkgs" 513 + ] 514 + }, 515 + "locked": { 516 + "lastModified": 1765720983, 517 + "narHash": "sha256-tWtukpABmux6EC/FuCJEgA1kmRjcRPtED44N+GGPq+4=", 518 + "owner": "feel-co", 519 + "repo": "ndg", 520 + "rev": "f399ace8bb8e1f705dd8942b24d207aa4d75c936", 521 + "type": "github" 522 + }, 523 + "original": { 524 + "owner": "feel-co", 525 + "repo": "ndg", 526 + "type": "github" 527 + } 528 + }, 470 529 "nix-index-database": { 471 530 "inputs": { 472 531 "nixpkgs": [ ··· 563 622 "type": "github" 564 623 } 565 624 }, 625 + "nvf": { 626 + "inputs": { 627 + "flake-compat": [ 628 + "flake-compat" 629 + ], 630 + "flake-parts": [ 631 + "flake-parts" 632 + ], 633 + "mnw": "mnw", 634 + "ndg": "ndg", 635 + "nixpkgs": [ 636 + "nixpkgs" 637 + ], 638 + "systems": "systems_5" 639 + }, 640 + "locked": { 641 + "lastModified": 1767992839, 642 + "narHash": "sha256-qDcSFxMs6d/WjaVD1RtvFKtlv3FKEt8U10AFMSz+wvE=", 643 + "owner": "notashelf", 644 + "repo": "nvf", 645 + "rev": "5b5548d2182063aa81e1e2dd0f0bc8cbb055179b", 646 + "type": "github" 647 + }, 648 + "original": { 649 + "owner": "notashelf", 650 + "repo": "nvf", 651 + "type": "github" 652 + } 653 + }, 566 654 "quickshell": { 567 655 "inputs": { 568 656 "nixpkgs": [ ··· 588 676 "agenix": "agenix", 589 677 "buildbot-nix": "buildbot-nix", 590 678 "ctp": "ctp", 679 + "dms": "dms", 591 680 "dn42": "dn42", 592 681 "easy-hosts": "easy-hosts", 593 682 "flake-compat": "flake-compat", ··· 600 689 "nix-index-database": "nix-index-database", 601 690 "nixpkgs": "nixpkgs_2", 602 691 "nixpkgs-stalwart-fix": "nixpkgs-stalwart-fix", 692 + "nvf": "nvf", 603 693 "quickshell": "quickshell", 604 694 "tangled": "tangled", 605 695 "treefmt-nix": "treefmt-nix" ··· 679 769 } 680 770 }, 681 771 "systems_5": { 772 + "locked": { 773 + "lastModified": 1681028828, 774 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 775 + "owner": "nix-systems", 776 + "repo": "default", 777 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 778 + "type": "github" 779 + }, 780 + "original": { 781 + "owner": "nix-systems", 782 + "repo": "default", 783 + "type": "github" 784 + } 785 + }, 786 + "systems_6": { 682 787 "locked": { 683 788 "lastModified": 1681028828, 684 789 "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+12
flake.nix
··· 49 49 url = "github:pyrox0/dn43.nix"; 50 50 inputs.nixpkgs.follows = "nixpkgs"; 51 51 }; 52 + dms = { 53 + url = "github:AvengeMedia/DankMaterialShell"; 54 + inputs.quickshell.follows = "quickshell"; 55 + inputs.nixpkgs.follows = "nixpkgs"; 56 + }; 52 57 easy-hosts.url = "github:tgirlcloud/easy-hosts"; 53 58 golink = { 54 59 url = "github:tailscale/golink"; ··· 63 68 }; 64 69 nix-index-database = { 65 70 url = "github:Mic92/nix-index-database"; 71 + inputs.nixpkgs.follows = "nixpkgs"; 72 + }; 73 + nvf = { 74 + url = "github:notashelf/nvf"; 75 + inputs.flake-compat.follows = "flake-compat"; 76 + inputs.flake-parts.follows = "flake-parts"; 66 77 inputs.nixpkgs.follows = "nixpkgs"; 67 78 }; 68 79 my-pkgs = { ··· 103 114 ./homeModules 104 115 ./templates 105 116 ./hosts 117 + ./neovim 106 118 ]; 107 119 108 120 # # Flake attributes
+2 -2
homeModules/programs/git/default.nix
··· 24 24 settings = { 25 25 branch.sort = "-committerdate"; 26 26 column.ui = "auto"; 27 - core.editor = lib.getExe pkgs.neovim; 27 + core.editor = "nvim"; 28 28 "credential \"https://git.pyrox.dev\"".username = "pyrox"; 29 29 credential.helper = "rbw"; 30 30 diff = { ··· 95 95 enable = true; 96 96 gitCredentialHelper.enable = true; 97 97 settings = { 98 - editor = lib.getExe pkgs.neovim; 98 + editor = "nvim"; 99 99 git_protocol = "https"; 100 100 browser = lib.mkIf config.py.profiles.gui.enable pkgs.firefox; 101 101 prompt = "enabled";
+2 -22
homeModules/programs/neovim/default.nix
··· 1 1 { 2 - pkgs, 3 2 config, 4 3 lib, 5 4 ... ··· 10 9 { 11 10 options.py.programs.neovim.enable = lib.mkEnableOption "Neovim Configuration"; 12 11 13 - config.programs.neovim = lib.mkIf cfg.enable { 14 - enable = true; 15 - viAlias = true; 16 - vimAlias = true; 17 - vimdiffAlias = true; 18 - withRuby = false; 19 - withNodeJs = false; 20 - withPython3 = false; 21 - extraPackages = [ 22 - pkgs.bottom 23 - pkgs.fd 24 - pkgs.gcc 25 - pkgs.go 26 - pkgs.nodejs 27 - # ] 28 - # ++ lib.optionals config.py.profiles.gui.enable [ 29 - # pkgs.ffmpegthumbnailer 30 - # pkgs.fontpreview 31 - # pkgs.poppler 32 - # pkgs.ueberzug 33 - ]; 12 + config = lib.mkIf cfg.enable { 13 + home.sessionVariables.EDITOR = lib.mkForce "nvim"; 34 14 }; 35 15 }
+19
neovim/default.nix
··· 1 + { inputs, ... }: 2 + { 3 + perSystem = 4 + { 5 + pkgs, 6 + ... 7 + }: 8 + { 9 + packages = { 10 + dishvim = 11 + (inputs.nvf.lib.neovimConfiguration { 12 + inherit pkgs; 13 + modules = [ 14 + ./dishvim.nix 15 + ]; 16 + }).neovim; 17 + }; 18 + }; 19 + }
+155
neovim/dishvim.nix
··· 1 + { lib, pkgs, ... }: 2 + { 3 + config.vim = { 4 + extraPackages = [ 5 + pkgs.rumdl 6 + ]; 7 + diagnostics.enable = true; 8 + options.tabstop = 2; 9 + options.shiftwidth = 2; 10 + withNodeJs = false; 11 + withPython3 = false; 12 + withRuby = false; 13 + syntaxHighlighting = true; 14 + autocomplete.blink-cmp = { 15 + enable = true; 16 + setupOpts.completion.menu.border = "single"; 17 + }; 18 + autopairs.nvim-autopairs.enable = true; 19 + clipboard = { 20 + enable = true; 21 + providers.wl-copy.enable = true; 22 + registers = "unnamedplus"; 23 + }; 24 + formatter.conform-nvim = { 25 + setupOpts = { 26 + formatters_by_ft.markdown = [ "rumdl" ]; 27 + formatters = { 28 + rumdl.command = lib.meta.getExe pkgs.rumdl; 29 + }; 30 + }; 31 + }; 32 + lineNumberMode = "relNumber"; 33 + theme.enable = true; 34 + theme.name = "catppuccin"; 35 + theme.style = "mocha"; 36 + treesitter.enable = true; 37 + git = { 38 + gitsigns.enable = true; 39 + }; 40 + binds.whichKey = { 41 + enable = true; 42 + register = { 43 + "<leader>l" = "+LSP"; 44 + }; 45 + }; 46 + lsp = { 47 + enable = true; 48 + formatOnSave = true; 49 + harper-ls.enable = true; 50 + mappings.renameSymbol = "lr"; 51 + }; 52 + # Languages 53 + languages = { 54 + enableFormat = true; 55 + enableTreesitter = true; 56 + css.enable = true; 57 + cue.enable = true; 58 + html.enable = true; 59 + json.enable = true; 60 + just.enable = true; 61 + lua.enable = true; 62 + markdown = { 63 + enable = true; 64 + format.enable = false; 65 + extraDiagnostics.enable = false; 66 + extensions.render-markdown-nvim.enable = true; 67 + lsp.servers = [ "markdown-oxide" ]; 68 + }; 69 + nix = { 70 + enable = true; 71 + format.type = [ "nixfmt" ]; 72 + lsp.servers = [ 73 + "nixd" 74 + "nil" 75 + ]; 76 + }; 77 + python = { 78 + enable = true; 79 + format.type = [ "ruff" ]; 80 + }; 81 + qml.enable = true; 82 + rust = { 83 + enable = true; 84 + extensions.crates-nvim = { 85 + enable = true; 86 + setupOpts = { 87 + completion.crates.enabled = true; 88 + lsp.actions = true; 89 + lsp.completion = true; 90 + lsp.enabled = true; 91 + lsp.hover = true; 92 + }; 93 + }; 94 + }; 95 + sql.enable = true; 96 + sql.dialect = "ansi"; 97 + tailwind.enable = true; 98 + typst = { 99 + enable = true; 100 + extensions.typst-preview-nvim.enable = true; 101 + }; 102 + yaml.enable = true; 103 + }; 104 + statusline.lualine = { 105 + enable = true; 106 + activeSection.c = [ 107 + '' 108 + { 109 + "diff", 110 + colored = true, 111 + diff_color = { 112 + added = 'DiffAdd', 113 + modified = 'DiffChange', 114 + removed = 'DiffDelete', 115 + }, 116 + symbols = { 117 + added = '[+] ', 118 + modified = ' [~] ', 119 + removed = ' [-] ' 120 + }, 121 + separator = { 122 + right = '' 123 + } 124 + } 125 + '' 126 + ]; 127 + }; 128 + ui.borders.enable = true; 129 + ui.borders.globalStyle = "single"; 130 + ui.colorizer.enable = true; 131 + utility.direnv.enable = true; 132 + visuals.fidget-nvim.enable = true; 133 + visuals.indent-blankline.enable = true; 134 + autocmds = [ 135 + { 136 + event = [ "BufWinEnter" ]; 137 + desc = "Restore cursor position"; 138 + once = true; 139 + callback = lib.generators.mkLuaInline '' 140 + function(opts) 141 + local ft = vim.bo[opts.buf].filetype 142 + local last_known_line = vim.api.nvim_buf_get_mark(opts.buf, '"')[1] 143 + if 144 + not (ft:match('commit') and ft:match('rebase')) 145 + and last_known_line > 1 146 + and last_known_line <= vim.api.nvim_buf_line_count(opts.buf) 147 + then 148 + vim.api.nvim_feedkeys([[g`"]], 'nx', false) 149 + end 150 + end 151 + ''; 152 + } 153 + ]; 154 + }; 155 + }
-1
nixosModules/default-config/nixpkgsConfig.nix
··· 7 7 overlays = [ 8 8 inputs.self.overlays.openssh-fixperms 9 9 inputs.golink.overlays.default 10 - inputs.quickshell.overlays.default 11 10 ]; 12 11 config = { 13 12 allowUnfree = true;
+2 -24
nixosModules/programs/dms/default.nix
··· 2 2 config, 3 3 lib, 4 4 inputs', 5 - pkgs, 6 5 ... 7 6 }: 8 7 let 9 8 cfg = config.py.programs.dms; 10 - # dank-plugins-src = pkgs.fetchFromGitHub { 11 - # owner = "AvengeMedia"; 12 - # repo = "dms-plugins"; 13 - # rev = "8fa7c5286171c66a209dd74e9a47d6e72ccfdad6"; 14 - # hash = ""; 15 - # }; 16 9 in 17 10 { 18 11 options = { ··· 21 14 config = lib.mkIf cfg.enable { 22 15 programs.dms-shell = { 23 16 enable = true; 24 - systemd.enable = false; 17 + systemd.enable = true; 25 18 enableSystemMonitoring = true; 26 19 enableClipboard = true; 20 + package = inputs'.dms.packages.default; 27 21 quickshell.package = inputs'.quickshell.packages.quickshell; 28 - # plugins = { 29 - # dankPomodoroTimer.src = dank-plugins-src; 30 - # dankDesktopWeather.src = dank-plugins-src; 31 - # powerUsagePlugin.src = pkgs.fetchFromGitHub { 32 - # owner = "Daniel-42-z"; 33 - # repo = "dms-power-usage"; 34 - # rev = "04b7da69b98be23d6f6bbc0430461680b43809e0"; 35 - # hash = ""; 36 - # }; 37 - # mediaPlayer.src = pkgs.fetchFromGitHub { 38 - # owner = "arrifat346afs"; 39 - # repo = "mediaPlayer"; 40 - # rev = "4d73e6c810f85093339eb6cc6dad251ea6c15b04"; 41 - # hash = ""; 42 - # }; 43 - # }; 44 22 }; 45 23 }; 46 24 }
+4 -8
nixosModules/programs/neovim/default.nix
··· 1 1 { 2 2 lib, 3 3 config, 4 + self', 4 5 ... 5 6 }: 6 7 let ··· 9 10 { 10 11 options.py.programs.neovim.enable = lib.mkEnableOption "Neovim configuration"; 11 12 12 - config.programs.neovim = lib.mkIf cfg.enable { 13 - enable = true; 14 - defaultEditor = true; 15 - viAlias = true; 16 - vimAlias = true; 17 - withRuby = false; 18 - withNodeJs = false; 19 - withPython3 = false; 13 + config = lib.mkIf cfg.enable { 14 + environment.systemPackages = [ self'.packages.dishvim ]; 15 + environment.sessionVariables.EDITOR = lib.mkForce "nvim"; 20 16 }; 21 17 }