Personal dotfiles for Linux, mostly for Nixpkgs/NixOS-based and Termux setups. Mirrored using GitLab's push mirroring feature. gitlab.com/andreijiroh-dev/dotfiles
linux dotfiles

chore(global): initial commit for nixpkgs branch

Need to commit and push for community help at @hackclub slack
later.

Signed-off-by: Andrei Jiroh Halili <ajhalili2006@andreijiroh.dev>

+421
.config/nixos/flake.lock
··· 1 + { 2 + "nodes": { 3 + "determinate": { 4 + "inputs": { 5 + "determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin", 6 + "determinate-nixd-aarch64-linux": "determinate-nixd-aarch64-linux", 7 + "determinate-nixd-x86_64-darwin": [ 8 + "determinate", 9 + "determinate-nixd-aarch64-darwin" 10 + ], 11 + "determinate-nixd-x86_64-linux": "determinate-nixd-x86_64-linux", 12 + "nix": "nix", 13 + "nixpkgs": "nixpkgs_3" 14 + }, 15 + "locked": { 16 + "lastModified": 1733950326, 17 + "narHash": "sha256-nUTutqzg/Z0eEXrC1ACTa4a9Ik5Iyxgqo8uL9DYib7I=", 18 + "rev": "657395244a854da1bc71e38454958ecd57c0e241", 19 + "revCount": 165, 20 + "type": "tarball", 21 + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/0.1.165%2Brev-657395244a854da1bc71e38454958ecd57c0e241/0193b781-6c27-7703-bca6-fc9648fca81d/source.tar.gz" 22 + }, 23 + "original": { 24 + "type": "tarball", 25 + "url": "https://flakehub.com/f/DeterminateSystems/determinate/0.1" 26 + } 27 + }, 28 + "determinate-nixd-aarch64-darwin": { 29 + "flake": false, 30 + "locked": { 31 + "narHash": "sha256-I03XaJRNQHh/N3ea2qpMU78DahTm7tSfF+urRABhKiQ=", 32 + "type": "file", 33 + "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/macOS" 34 + }, 35 + "original": { 36 + "type": "file", 37 + "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/macOS" 38 + } 39 + }, 40 + "determinate-nixd-aarch64-linux": { 41 + "flake": false, 42 + "locked": { 43 + "narHash": "sha256-yxF7hyInOc+S1BEaxjLBLHUFjSAjC0bRKh0glUt4ilo=", 44 + "type": "file", 45 + "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/aarch64-linux" 46 + }, 47 + "original": { 48 + "type": "file", 49 + "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/aarch64-linux" 50 + } 51 + }, 52 + "determinate-nixd-x86_64-linux": { 53 + "flake": false, 54 + "locked": { 55 + "narHash": "sha256-/LPSCwR/ueorahCcyUSVym3y3lnRXkc6pqWwW2T/yT8=", 56 + "type": "file", 57 + "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/x86_64-linux" 58 + }, 59 + "original": { 60 + "type": "file", 61 + "url": "https://install.determinate.systems/determinate-nixd/tag/v0.2.6/x86_64-linux" 62 + } 63 + }, 64 + "flake-compat": { 65 + "flake": false, 66 + "locked": { 67 + "lastModified": 1696426674, 68 + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 69 + "owner": "edolstra", 70 + "repo": "flake-compat", 71 + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 72 + "type": "github" 73 + }, 74 + "original": { 75 + "owner": "edolstra", 76 + "repo": "flake-compat", 77 + "type": "github" 78 + } 79 + }, 80 + "flake-parts": { 81 + "inputs": { 82 + "nixpkgs-lib": [ 83 + "determinate", 84 + "nix", 85 + "nix", 86 + "nixpkgs" 87 + ] 88 + }, 89 + "locked": { 90 + "lastModified": 1719994518, 91 + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", 92 + "owner": "hercules-ci", 93 + "repo": "flake-parts", 94 + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", 95 + "type": "github" 96 + }, 97 + "original": { 98 + "owner": "hercules-ci", 99 + "repo": "flake-parts", 100 + "type": "github" 101 + } 102 + }, 103 + "flake-utils": { 104 + "inputs": { 105 + "systems": "systems" 106 + }, 107 + "locked": { 108 + "lastModified": 1681202837, 109 + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", 110 + "owner": "numtide", 111 + "repo": "flake-utils", 112 + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", 113 + "type": "github" 114 + }, 115 + "original": { 116 + "owner": "numtide", 117 + "repo": "flake-utils", 118 + "type": "github" 119 + } 120 + }, 121 + "git-hooks-nix": { 122 + "inputs": { 123 + "flake-compat": [ 124 + "determinate", 125 + "nix", 126 + "nix" 127 + ], 128 + "gitignore": [ 129 + "determinate", 130 + "nix", 131 + "nix" 132 + ], 133 + "nixpkgs": [ 134 + "determinate", 135 + "nix", 136 + "nix", 137 + "nixpkgs" 138 + ], 139 + "nixpkgs-stable": [ 140 + "determinate", 141 + "nix", 142 + "nix", 143 + "nixpkgs" 144 + ] 145 + }, 146 + "locked": { 147 + "lastModified": 1721042469, 148 + "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", 149 + "owner": "cachix", 150 + "repo": "git-hooks.nix", 151 + "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", 152 + "type": "github" 153 + }, 154 + "original": { 155 + "owner": "cachix", 156 + "repo": "git-hooks.nix", 157 + "type": "github" 158 + } 159 + }, 160 + "home-manager": { 161 + "inputs": { 162 + "nixpkgs": "nixpkgs_4" 163 + }, 164 + "locked": { 165 + "lastModified": 1735381016, 166 + "narHash": "sha256-CyCZFhMUkuYbSD6bxB/r43EdmDE7hYeZZPTCv0GudO4=", 167 + "owner": "nix-community", 168 + "repo": "home-manager", 169 + "rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2", 170 + "type": "github" 171 + }, 172 + "original": { 173 + "owner": "nix-community", 174 + "ref": "master", 175 + "repo": "home-manager", 176 + "type": "github" 177 + } 178 + }, 179 + "libgit2": { 180 + "flake": false, 181 + "locked": { 182 + "lastModified": 1715853528, 183 + "narHash": "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY=", 184 + "owner": "libgit2", 185 + "repo": "libgit2", 186 + "rev": "36f7e21ad757a3dacc58cf7944329da6bc1d6e96", 187 + "type": "github" 188 + }, 189 + "original": { 190 + "owner": "libgit2", 191 + "ref": "v1.8.1", 192 + "repo": "libgit2", 193 + "type": "github" 194 + } 195 + }, 196 + "nix": { 197 + "inputs": { 198 + "nix": "nix_2", 199 + "nixpkgs": "nixpkgs_2" 200 + }, 201 + "locked": { 202 + "lastModified": 1733248733, 203 + "narHash": "sha256-rOFE8TSwWoup+LPNbmtTs6oLy7lYZ12L9GN+aZuQQaA=", 204 + "rev": "98bbabc68ac8c897c2ad873c3557125691c45120", 205 + "revCount": 108, 206 + "type": "tarball", 207 + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix/2.25.3/01939864-5191-788c-b898-163d916a3333/source.tar.gz" 208 + }, 209 + "original": { 210 + "type": "tarball", 211 + "url": "https://flakehub.com/f/DeterminateSystems/nix/2.0" 212 + } 213 + }, 214 + "nix_2": { 215 + "inputs": { 216 + "flake-compat": "flake-compat", 217 + "flake-parts": "flake-parts", 218 + "git-hooks-nix": "git-hooks-nix", 219 + "libgit2": "libgit2", 220 + "nixpkgs": "nixpkgs", 221 + "nixpkgs-23-11": "nixpkgs-23-11", 222 + "nixpkgs-regression": "nixpkgs-regression" 223 + }, 224 + "locked": { 225 + "lastModified": 1732881227, 226 + "narHash": "sha256-T+wFMm3cj8pGJSwXmPuxG5pz+1gRDJoToF9OBxtzocA=", 227 + "rev": "218cd6c16c0981cc32a45e3a15be1d3c1a68eb85", 228 + "revCount": 18724, 229 + "type": "tarball", 230 + "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.25.3/01938786-bc70-79e3-b7ee-bb61f8e7f238/source.tar.gz" 231 + }, 232 + "original": { 233 + "type": "tarball", 234 + "url": "https://flakehub.com/f/NixOS/nix/%3D2.25.3" 235 + } 236 + }, 237 + "nixos-hardware": { 238 + "locked": { 239 + "lastModified": 1735388221, 240 + "narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=", 241 + "owner": "NixOS", 242 + "repo": "nixos-hardware", 243 + "rev": "7c674c6734f61157e321db595dbfcd8523e04e19", 244 + "type": "github" 245 + }, 246 + "original": { 247 + "owner": "NixOS", 248 + "ref": "master", 249 + "repo": "nixos-hardware", 250 + "type": "github" 251 + } 252 + }, 253 + "nixpkgs": { 254 + "locked": { 255 + "lastModified": 1723688146, 256 + "narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=", 257 + "owner": "NixOS", 258 + "repo": "nixpkgs", 259 + "rev": "c3d4ac725177c030b1e289015989da2ad9d56af0", 260 + "type": "github" 261 + }, 262 + "original": { 263 + "owner": "NixOS", 264 + "ref": "nixos-24.05", 265 + "repo": "nixpkgs", 266 + "type": "github" 267 + } 268 + }, 269 + "nixpkgs-23-11": { 270 + "locked": { 271 + "lastModified": 1717159533, 272 + "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", 273 + "owner": "NixOS", 274 + "repo": "nixpkgs", 275 + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", 276 + "type": "github" 277 + }, 278 + "original": { 279 + "owner": "NixOS", 280 + "repo": "nixpkgs", 281 + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", 282 + "type": "github" 283 + } 284 + }, 285 + "nixpkgs-regression": { 286 + "locked": { 287 + "lastModified": 1643052045, 288 + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", 289 + "owner": "NixOS", 290 + "repo": "nixpkgs", 291 + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 292 + "type": "github" 293 + }, 294 + "original": { 295 + "owner": "NixOS", 296 + "repo": "nixpkgs", 297 + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", 298 + "type": "github" 299 + } 300 + }, 301 + "nixpkgs_2": { 302 + "locked": { 303 + "lastModified": 1733120037, 304 + "narHash": "sha256-En+gSoVJ3iQKPDU1FHrR6zIxSLXKjzKY+pnh9tt+Yts=", 305 + "rev": "f9f0d5c5380be0a599b1fb54641fa99af8281539", 306 + "revCount": 710194, 307 + "type": "tarball", 308 + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2411.710194%2Brev-f9f0d5c5380be0a599b1fb54641fa99af8281539/01938be8-64ce-75c6-94d4-dbc2e4d547fe/source.tar.gz" 309 + }, 310 + "original": { 311 + "type": "tarball", 312 + "url": "https://flakehub.com/f/NixOS/nixpkgs/%2A" 313 + } 314 + }, 315 + "nixpkgs_3": { 316 + "locked": { 317 + "lastModified": 1733686850, 318 + "narHash": "sha256-NQEO/nZWWGTGlkBWtCs/1iF1yl2lmQ1oY/8YZrumn3I=", 319 + "rev": "dd51f52372a20a93c219e8216fe528a648ffcbf4", 320 + "revCount": 719099, 321 + "type": "tarball", 322 + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.719099%2Brev-dd51f52372a20a93c219e8216fe528a648ffcbf4/0193af12-b91a-77b9-9c72-3172a023752d/source.tar.gz" 323 + }, 324 + "original": { 325 + "type": "tarball", 326 + "url": "https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/0.1.tar.gz" 327 + } 328 + }, 329 + "nixpkgs_4": { 330 + "locked": { 331 + "lastModified": 1734649271, 332 + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", 333 + "owner": "NixOS", 334 + "repo": "nixpkgs", 335 + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", 336 + "type": "github" 337 + }, 338 + "original": { 339 + "owner": "NixOS", 340 + "ref": "nixos-unstable", 341 + "repo": "nixpkgs", 342 + "type": "github" 343 + } 344 + }, 345 + "nixpkgs_5": { 346 + "locked": { 347 + "lastModified": 1735291276, 348 + "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", 349 + "owner": "NixOS", 350 + "repo": "nixpkgs", 351 + "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", 352 + "type": "github" 353 + }, 354 + "original": { 355 + "owner": "NixOS", 356 + "ref": "nixos-unstable", 357 + "repo": "nixpkgs", 358 + "type": "github" 359 + } 360 + }, 361 + "nixpkgs_6": { 362 + "locked": { 363 + "lastModified": 1682134069, 364 + "narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=", 365 + "owner": "NixOS", 366 + "repo": "nixpkgs", 367 + "rev": "fd901ef4bf93499374c5af385b2943f5801c0833", 368 + "type": "github" 369 + }, 370 + "original": { 371 + "id": "nixpkgs", 372 + "type": "indirect" 373 + } 374 + }, 375 + "root": { 376 + "inputs": { 377 + "determinate": "determinate", 378 + "home-manager": "home-manager", 379 + "nixos-hardware": "nixos-hardware", 380 + "nixpkgs": "nixpkgs_5", 381 + "vscode-server": "vscode-server" 382 + } 383 + }, 384 + "systems": { 385 + "locked": { 386 + "lastModified": 1681028828, 387 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 388 + "owner": "nix-systems", 389 + "repo": "default", 390 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 391 + "type": "github" 392 + }, 393 + "original": { 394 + "owner": "nix-systems", 395 + "repo": "default", 396 + "type": "github" 397 + } 398 + }, 399 + "vscode-server": { 400 + "inputs": { 401 + "flake-utils": "flake-utils", 402 + "nixpkgs": "nixpkgs_6" 403 + }, 404 + "locked": { 405 + "lastModified": 1729422940, 406 + "narHash": "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=", 407 + "owner": "nix-community", 408 + "repo": "nixos-vscode-server", 409 + "rev": "8b6db451de46ecf9b4ab3d01ef76e59957ff549f", 410 + "type": "github" 411 + }, 412 + "original": { 413 + "owner": "nix-community", 414 + "repo": "nixos-vscode-server", 415 + "type": "github" 416 + } 417 + } 418 + }, 419 + "root": "root", 420 + "version": 7 421 + }
+49
.config/nixos/flake.nix
··· 1 + { 2 + description = "Andrei Jiroh's NixOS configurations"; 3 + 4 + # try to be in-sync with the nix-channels 5 + inputs = { 6 + nixpkgs = { 7 + url = "github:NixOS/nixpkgs/nixos-unstable"; 8 + }; 9 + home-manager = { 10 + url = "github:nix-community/home-manager/master"; 11 + }; 12 + nixos-hardware = { 13 + url = "github:NixOS/nixos-hardware/master"; 14 + }; 15 + determinate = { 16 + url = "https://flakehub.com/f/DeterminateSystems/determinate/0.1"; 17 + }; 18 + vscode-server = { 19 + url = "github:nix-community/nixos-vscode-server"; 20 + }; 21 + }; 22 + 23 + outputs = { 24 + self, 25 + nixpkgs, 26 + home-manager, 27 + nixos-hardware, 28 + determinate, 29 + vscode-server 30 + }: { 31 + nixosConfigurations = { 32 + stellapent-cier = nixpkgs.lib.nixosSystem { 33 + system = "x86_64-linux"; 34 + modules = [ 35 + determinate.nixosModules.default 36 + vscode-server.nixosModules.default 37 + home-manager.nixosModules.home-manager 38 + ./shared/networking.nix 39 + ./shared/locale.nix 40 + ./shared/firewall.nix 41 + ./shared/kde-plasma.nix 42 + ./shared/ssh.nix 43 + ./shared/tailscale.nix 44 + ./hosts/stellapent-cier/configuration.nix 45 + ]; 46 + }; 47 + }; 48 + }; 49 + }
+123
.config/nixos/hosts/stellapent-cier/configuration.nix
··· 1 + # Edit this configuration file to define what should be installed on 2 + # your system. Help is available in the configuration.nix(5) man page 3 + # and in the NixOS manual (accessible by running ‘nixos-help’). 4 + 5 + { pkgs, ... }: 6 + 7 + { 8 + imports = 9 + [ 10 + ./hardware-configuration.nix 11 + 12 + # We're also importing them below just in case 13 + ../../shared/networking.nix 14 + ../../shared/locale.nix 15 + ../../shared/firewall.nix 16 + ../../shared/kde-plasma.nix 17 + ../../shared/ssh.nix 18 + ../../shared/vscode-extensions.nix 19 + ]; 20 + 21 + # Bootloader. 22 + boot.loader.systemd-boot.enable = true; 23 + boot.loader.efi.canTouchEfiVariables = true; 24 + 25 + networking.hostName = "stellapent-cier"; # Define your hostname. 26 + #networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 27 + 28 + # Configure network proxy if necessary 29 + # networking.proxy.default = "http://user:password@proxy:port/"; 30 + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 31 + 32 + # Enable networking via networkmanager 33 + networking.networkmanager.enable = true; 34 + 35 + # Enable the X11 windowing system. 36 + # You can disable this if you're only using the Wayland session. 37 + services.xserver.enable = true; 38 + 39 + # Configure keymap in X11 40 + services.xserver.xkb = { 41 + layout = "us"; 42 + variant = ""; 43 + }; 44 + 45 + # Enable CUPS to print documents. 46 + services.printing.enable = true; 47 + 48 + # Enable sound with pipewire. 49 + hardware.pulseaudio.enable = false; 50 + security.rtkit.enable = true; 51 + services.pipewire = { 52 + enable = true; 53 + alsa.enable = true; 54 + alsa.support32Bit = true; 55 + pulse.enable = true; 56 + # If you want to use JACK applications, uncomment this 57 + #jack.enable = true; 58 + 59 + # use the example session manager (no others are packaged yet so this is enabled by default, 60 + # no need to redefine it in your config for now) 61 + #media-session.enable = true; 62 + }; 63 + 64 + # firmware configurations 65 + #hardware.firmware = with pkgs; [ 66 + # (pkgs.fetchurl { 67 + # url = "https://raw.githubusercontent.com/winterheart/broadcom-bt-firmware/refs/heads/master/brcm/BCM43142A0-0a5c-216d.hcd"; 68 + # sha256 = "9ac1e0fac850eec21cda47977858039ffc774d0cfffc6688093a722efc5a3ec0"; 69 + # }) 70 + #]; 71 + 72 + # Enable touchpad support (enabled default in most desktopManager). 73 + # services.xserver.libinput.enable = true; 74 + 75 + # Define a user account. Don't forget to set a password with ‘passwd’. 76 + # Might be obvious to some since I'm technically roleplaying as 77 + users.users.gildedguy = { 78 + isNormalUser = true; 79 + description = "Gildedguy (Michael Moy)"; 80 + extraGroups = [ "networkmanager" "wheel" ]; 81 + packages = with pkgs; [ 82 + kdePackages.kate 83 + thunderbird 84 + ]; 85 + }; 86 + 87 + # home-manager specifics 88 + home-manager.useUserPackages = true; 89 + home-manager.useGlobalPkgs = true; 90 + home-manager.users.gildedguy = (import ./users/gildedguy.nix); 91 + 92 + # Install firefox. 93 + programs.firefox.enable = true; 94 + 95 + # List packages installed in system profile. To search, run: 96 + # $ nix search wget 97 + environment.systemPackages = with pkgs; [ 98 + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. 99 + wget 100 + dig 101 + broadcom-bt-firmware 102 + btop 103 + htop 104 + google-chrome 105 + ]; 106 + 107 + # Some programs need SUID wrappers, can be configured further or are 108 + # started in user sessions. 109 + programs.mtr.enable = true; 110 + programs.gnupg.agent = { 111 + enable = true; 112 + enableSSHSupport = true; 113 + }; 114 + 115 + # This value determines the NixOS release from which the default 116 + # settings for stateful data, like file locations and database versions 117 + # on your system were taken. It‘s perfectly fine and recommended to leave 118 + # this value at the release version of the first install of this system. 119 + # Before changing this value read the documentation for this option 120 + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 121 + system.stateVersion = "24.11"; # Did you read the comment? 122 + 123 + }
+54
.config/nixos/hosts/stellapent-cier/hardware-configuration.nix
··· 1 + # Do not modify this file! It was generated by ‘nixos-generate-config’ 2 + # and may be overwritten by future invocations. Please make changes 3 + # to /etc/nixos/configuration.nix instead. 4 + { config, lib, pkgs, modulesPath, ... }: 5 + 6 + { 7 + imports = 8 + [ (modulesPath + "/installer/scan/not-detected.nix") 9 + ]; 10 + 11 + boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ]; 12 + boot.initrd.kernelModules = [ ]; 13 + boot.kernelModules = [ "kvm-intel" ]; 14 + boot.extraModulePackages = [ ]; 15 + 16 + fileSystems."/" = 17 + { device = "/dev/disk/by-uuid/e3397457-41d2-4bed-9689-27a9ff3ccb51"; 18 + fsType = "ext4"; 19 + }; 20 + 21 + fileSystems."/boot" = 22 + { device = "/dev/disk/by-uuid/EC7C-6A58"; 23 + fsType = "vfat"; 24 + options = [ "fmask=0077" "dmask=0077" ]; 25 + }; 26 + 27 + fileSystems."/home" = 28 + { device = "/dev/disk/by-uuid/22a6f5ea-79d1-4919-b165-50063fd782f5"; 29 + fsType = "ext4"; 30 + }; 31 + 32 + fileSystems."/var/lib/docker" = 33 + { device = "/dev/disk/by-uuid/299133b8-2585-42a4-b7d1-c995d4fc9e19"; 34 + fsType = "ext4"; 35 + }; 36 + 37 + fileSystems."/workspaces" = 38 + { device = "/dev/disk/by-uuid/a8d0810e-4bbf-479d-baea-28b1441ad68f"; 39 + fsType = "ext4"; 40 + }; 41 + 42 + swapDevices = [ ]; 43 + 44 + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 45 + # (the default) this is the recommended approach. When using systemd-networkd it's 46 + # still possible to use this option, but it's recommended to use it in conjunction 47 + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. 48 + networking.useDHCP = lib.mkDefault true; 49 + # networking.interfaces.enp2s0.useDHCP = lib.mkDefault true; 50 + # networking.interfaces.wlp0s20u3.useDHCP = lib.mkDefault true; 51 + 52 + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 53 + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 54 + }
+211
.config/nixos/hosts/stellapent-cier/users/gildedguy.nix
··· 1 + { pkgs, lib, ... }: 2 + 3 + let 4 + vscExts = (import ../../../shared/vscode-extensions.nix) { 5 + pkgs = pkgs; 6 + lib = lib; 7 + }; 8 + #extList = lib.attrsets.mapAttrsToList (name: value: value) vscExts; 9 + in 10 + with pkgs; 11 + { 12 + # https://fnordig.de/til/nix/home-manager-allow-unfree.html 13 + nixpkgs = { 14 + config = { 15 + allowUnfree = true; 16 + # https://github.com/nix-community/home-manager/issues/2942 17 + allowUnfreePredicate = (_: true); 18 + }; 19 + }; 20 + 21 + # Home Manager needs a bit of information about you and the paths it should 22 + # manage. Also don't ask how we got here on the roleplaying part. 23 + home.username = "gildedguy"; 24 + home.homeDirectory = "/home/gildedguy"; 25 + 26 + # This value determines the Home Manager release that your configuration is 27 + # compatible with. This helps avoid breakage when a new Home Manager release 28 + # introduces backwards incompatible changes. 29 + # 30 + # You should not change this value, even if you update Home Manager. If you do 31 + # want to update the value, then make sure to first check the Home Manager 32 + # release notes. 33 + home.stateVersion = "24.11"; # Please read the comment before changing. 34 + 35 + # The home.packages option allows you to install Nix packages into your 36 + # environment. 37 + home.packages = with pkgs; [ 38 + # # Adds the 'hello' command to your environment. It prints a friendly 39 + # # "Hello, world!" when run. 40 + # pkgs.hello 41 + 42 + # # It is sometimes useful to fine-tune packages, for example, by applying 43 + # # overrides. You can do that directly here, just don't forget the 44 + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of 45 + # # fonts? 46 + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) 47 + 48 + # # You can also create simple shell scripts directly inside your 49 + # # configuration. For example, this adds a command 'my-hello' to your 50 + # # environment: 51 + # (pkgs.writeShellScriptBin "my-hello" '' 52 + # echo "Hello, ${config.home.username}!" 53 + # '') 54 + 55 + ## devtools ## 56 + # https://httpie.io 57 + httpie 58 + # https://devenv.sh 59 + devenv 60 + # https://cli.github.com 61 + gh 62 + # bet we'll going to have a field day since Copilot is now available for free 63 + # (this is seperate from the gh copilot extension for those asking) 64 + # context: https://github.blog/news-insights/product-news/github-copilot-in-vscode-free/ 65 + github-copilot-cli 66 + # markdownlint 67 + markdownlint-cli 68 + # https://doppler.com 69 + doppler 70 + 71 + ## programming languages 72 + deno 73 + nodejs_22 74 + python313 75 + pipx 76 + pipenv 77 + 78 + ## language servers ## 79 + # nix language server - https://github.com/oxalica/nil 80 + nil 81 + # https://github.com/alesbrelih/gitlab-ci-ls 82 + gitlab-ci-ls 83 + ]; 84 + 85 + home.sessionPath = [ 86 + "$HOME/bin" 87 + ]; 88 + 89 + # Home Manager is pretty good at managing dotfiles. The primary way to manage 90 + # plain files is through 'home.file'. 91 + home.file = { 92 + # # Building this configuration will create a copy of 'dotfiles/screenrc' in 93 + # # the Nix store. Activating the configuration will then make '~/.screenrc' a 94 + # # symlink to the Nix store copy. 95 + # ".screenrc".source = dotfiles/screenrc; 96 + 97 + # # You can also set the file content immediately. 98 + # ".gradle/gradle.properties".text = '' 99 + # org.gradle.console=verbose 100 + # org.gradle.daemon.idletimeout=3600000 101 + # ''; 102 + }; 103 + 104 + # Home Manager can also manage your environment variables through 105 + # 'home.sessionVariables'. These will be explicitly sourced when using a 106 + # shell provided by Home Manager. If you don't want to manage your shell 107 + # through Home Manager then you have to manually source 'hm-session-vars.sh' 108 + # located at either 109 + # 110 + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh 111 + # 112 + # or 113 + # 114 + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh 115 + # 116 + # or 117 + # 118 + # /etc/profiles/per-user/gildedguy/etc/profile.d/hm-session-vars.sh 119 + # 120 + home.sessionVariables = { 121 + EDITOR = "nano"; 122 + NIXOS_ALLOW_UNFREE = "1"; # for impure builds 123 + GIT_EDITOR = "code --wait"; 124 + VISUAL = "code --wait"; 125 + DOCKER_BUILDKIT = "1"; 126 + }; 127 + 128 + # Let Home Manager install and manage itself. 129 + programs.home-manager.enable = true; 130 + 131 + # let me cook with the configs, starting with git 132 + programs.git = { 133 + enable = true; 134 + package = pkgs.gitAndTools.gitFull; 135 + lfs = { 136 + enable = true; 137 + }; 138 + userName = "Andrei Jiroh Halili"; 139 + userEmail = "ajhalili2006@andreijiroh.dev"; 140 + aliases = { 141 + signoff = "commit --signoff"; 142 + amend = "commit -a --amend"; 143 + remotes = "remote -v"; 144 + root = "rev-parse --show-toplevel"; 145 + unstage = "restore --staged"; 146 + stats = "status"; 147 + }; 148 + extraConfig = { 149 + format = { 150 + signOff = true; 151 + }; 152 + init = { 153 + defaultBranch = "main"; 154 + }; 155 + 156 + # https://groups.google.com/g/binary-transparency/c/f-BI4o8HZW0 157 + transfer = { 158 + fsckobjects = true; 159 + }; 160 + fetch = { 161 + fsckobjects = true; 162 + }; 163 + receive = { 164 + fsckobjects = true; 165 + }; 166 + push = { 167 + autoSetupRemote = true; 168 + }; 169 + 170 + 171 + }; 172 + }; 173 + 174 + programs.vscode = { 175 + enable = true; 176 + package = pkgs.vscode; 177 + enableExtensionUpdateCheck = true; 178 + mutableExtensionsDir = true; 179 + # userSettings = { 180 + # "nix.enableLanguageServer" = true; 181 + # "nix.serverPath" = "nil"; 182 + # "window.customTitleBarVisibility" = "auto"; 183 + # "window.titleBarStyle" = "custom"; 184 + # "window.menuBarVisibility" = "classic"; 185 + # "redhat.telemetry.enabled" = true; 186 + # "github.copilot.editor.enableAutoCompletions" = false; 187 + # "github.copilot.chat.followUps" = "always"; 188 + # "github.copilot.chat.terminalChatLocation" = "terminal"; 189 + # "git.confirmSync" = false; 190 + # "microsoft-authentication.implementation" = "msal"; 191 + # "workbench.colorTheme" = "GitHub Dark Colorblind (Beta)"; 192 + # "workbench.iconTheme" = "material-icon-theme"; 193 + # "workbench.productIconTheme" = "material-product-icons"; 194 + # }; 195 + # Note that not all extensions are available over gh:NixOS/nixpkgs repo, but 196 + # we'll work on that soon. 197 + extensions = with vscExts; [ 198 + pkief.material-icon-theme 199 + pkief.material-product-icons 200 + github.github-vscode-theme 201 + wakatime.vscode-wakatime 202 + doppler.doppler-vscode 203 + eamodio.gitlens 204 + vivaxy.vscode-conventional-commits 205 + denoland.vscode-deno 206 + jnoortheen.nix-ide 207 + #redhat.vscode-yaml 208 + unifiedjs.vscode-mdx 209 + ]; 210 + }; 211 + }
+27
.config/nixos/shared/firewall.nix
··· 1 + { ... }: 2 + 3 + { 4 + # Open ports in the firewall. 5 + networking.firewall.allowedTCPPortRanges = [ 6 + { from = 1714; to = 1764; } 7 + ]; 8 + networking.firewall.allowedUDPPortRanges = [ 9 + { from = 1714; to = 1764; } 10 + ]; 11 + networking.firewall.allowTCPPorts = [ 12 + 22 13 + 80 14 + 443 15 + 3000 16 + 8000 17 + ]; 18 + networking.firewall.allowUDPPorts = [ 19 + 22 20 + 80 21 + 443 22 + 3000 23 + 8000 24 + ]; 25 + # Or disable the firewall altogether. 26 + # networking.firewall.enable = false; 27 + }
+10
.config/nixos/shared/kde-plasma.nix
··· 1 + { ... }: 2 + 3 + { 4 + # Enable the KDE Plasma Desktop Environment. 5 + services.displayManager.sddm.enable = true; 6 + services.desktopManager.plasma6.enable = true; 7 + 8 + # Also enable KDE Connect 9 + programs.kdeconnect.enable = true; 10 + }
+20
.config/nixos/shared/locale.nix
··· 1 + { ... }: 2 + 3 + { 4 + # Set your time zone. 5 + time.timeZone = "Asia/Manila"; 6 + 7 + # Select internationalisation properties. 8 + i18n.defaultLocale = "en_PH.UTF-8"; 9 + i18n.extraLocaleSettings = { 10 + LC_ADDRESS = "en_PH.UTF-8"; 11 + LC_IDENTIFICATION = "en_PH.UTF-8"; 12 + LC_MEASUREMENT = "en_PH.UTF-8"; 13 + LC_MONETARY = "en_PH.UTF-8"; 14 + LC_NAME = "en_PH.UTF-8"; 15 + LC_NUMERIC = "en_PH.UTF-8"; 16 + LC_PAPER = "en_PH.UTF-8"; 17 + LC_TELEPHONE = "en_PH.UTF-8"; 18 + LC_TIME = "en_PH.UTF-8"; 19 + }; 20 + }
+18
.config/nixos/shared/meta-configs.nix
··· 1 + # This is the meta config file for nixpkgs and nix cli 2 + 3 + { ... }: 4 + 5 + { 6 + # Adopted from https://fnordig.de/til/nix/home-manager-allow-unfree.html, 7 + # but we'll also enable it system-wide too. 8 + nixpkgs = { 9 + config = { 10 + allowUnfree = true; 11 + # https://github.com/nix-community/home-manager/issues/2942 12 + allowUnfreePredicate = (_: true); 13 + }; 14 + }; 15 + 16 + # Enable the Flakes feature and the accompanying new nix command-line tool 17 + nix.settings.experimental-features = [ "nix-command" "flakes" ]; 18 + }
+18
.config/nixos/shared/networking.nix
··· 1 + { ... }: 2 + 3 + { 4 + # Do a lot of systemd-resolved related chores 5 + networking.nameservers = [ 6 + "45.90.28.0#c393f6.dns.nextdns.io" 7 + "45.90.30.0#c393f6.dns.nextdns.io" 8 + ]; 9 + 10 + services.resolved = { 11 + enable = true; 12 + dnssec = "false"; # https://superuser.com/a/1493674 13 + domains = [ "~." "fawn-cod.ts.net" ]; 14 + # Use Cloudflare DNS resolver as fallback if things go wrong. 15 + fallbackDns = [ "1.1.1.1#one.one.one.one" "1.0.0.1#one.one.one.one" ]; 16 + dnsovertls = "true"; 17 + }; 18 + }
+15
.config/nixos/shared/ssh.nix
··· 1 + # To use this shared NixOS configuration for OpenSSH, just import this file 2 + # on your NixOS configuration. 3 + 4 + {...}: 5 + 6 + { 7 + programs.openssh = { 8 + enable = true; 9 + settings = { 10 + PermitRootLogin = "prohibit-password"; 11 + }; 12 + }; 13 + 14 + programs.mosh.enable = true; 15 + }
+17
.config/nixos/shared/tailscale.nix
··· 1 + # This Nix file contains the Tailscale configuration here 2 + # in NixOS, mostly on the side of the daemon and its related 3 + # configurations. 4 + 5 + { ... }: 6 + 7 + { 8 + services.tailscale = { 9 + enable = true; 10 + useRoutingFeatures = true; 11 + openFirewall = true; 12 + disableTaildrop = false; 13 + extraDaemonFlags = [ 14 + "--verbose 3" 15 + ]; 16 + }; 17 + }
+77
.config/nixos/shared/vscode-extensions.nix
··· 1 + { pkgs, lib }: 2 + 3 + let 4 + inherit (pkgs.stdenv) isDarwin isLinux isi686 isx86_64 isAarch32 isAarch64; 5 + vscode-utils = pkgs.vscode-utils; 6 + merge = lib.attrsets.recursiveUpdate; 7 + in 8 + merge 9 + (merge 10 + (merge 11 + (merge 12 + { 13 + "eamodio"."gitlens" = vscode-utils.extensionFromVscodeMarketplace { 14 + name = "gitlens"; 15 + publisher = "eamodio"; 16 + version = "2024.12.2404"; 17 + sha256 = "0wc0hqaxf5sh9wjsx29mnl6i8bf2jhsi4a1hshwiwm08p6lhg4fv"; 18 + }; 19 + "pkief"."material-icon-theme" = vscode-utils.extensionFromVscodeMarketplace { 20 + name = "material-icon-theme"; 21 + publisher = "pkief"; 22 + version = "5.16.0"; 23 + sha256 = "0ggwj2y84dyqhzl9kisddx64559bkhnfv94zxz6zcqyfq0vpycng"; 24 + }; 25 + "wakatime"."vscode-wakatime" = vscode-utils.extensionFromVscodeMarketplace { 26 + name = "vscode-wakatime"; 27 + publisher = "wakatime"; 28 + version = "25.0.0"; 29 + sha256 = "1c5ilsj8zvcrhvh3gb9wbgz8llfkjgxnv39r12a3iyy3fvdg5zlz"; 30 + }; 31 + "github"."github-vscode-theme" = vscode-utils.extensionFromVscodeMarketplace { 32 + name = "github-vscode-theme"; 33 + publisher = "github"; 34 + version = "6.3.5"; 35 + sha256 = "0jj7bp5iadrm2h75pdn96z0wzygv0sfa93karvlqlwagh2hrvrkl"; 36 + }; 37 + "denoland"."vscode-deno" = vscode-utils.extensionFromVscodeMarketplace { 38 + name = "vscode-deno"; 39 + publisher = "denoland"; 40 + version = "3.43.1"; 41 + sha256 = "0lna1znrbsdggzp6mx079461p21ngwgqz6mb7i3d0bnpxb844x3a"; 42 + }; 43 + "unifiedjs"."vscode-mdx" = vscode-utils.extensionFromVscodeMarketplace { 44 + name = "vscode-mdx"; 45 + publisher = "unifiedjs"; 46 + version = "1.8.12"; 47 + sha256 = "0afzx5i6bw7hmm4f8vdvx6a6mx053gmvc0gn78fz94b6fyaijsl7"; 48 + }; 49 + "pkief"."material-product-icons" = vscode-utils.extensionFromVscodeMarketplace { 50 + name = "material-product-icons"; 51 + publisher = "pkief"; 52 + version = "1.7.1"; 53 + sha256 = "1g75m55fc6nnfazpgmjxc48kw8abv85sglmmmjglwwgwi0di2xlj"; 54 + }; 55 + "vivaxy"."vscode-conventional-commits" = vscode-utils.extensionFromVscodeMarketplace { 56 + name = "vscode-conventional-commits"; 57 + publisher = "vivaxy"; 58 + version = "1.26.0"; 59 + sha256 = "1n414wwd6my4xjmh55b6l0s8bqadnq35ya1isxvdi6yabapbwg9f"; 60 + }; 61 + "jnoortheen"."nix-ide" = vscode-utils.extensionFromVscodeMarketplace { 62 + name = "nix-ide"; 63 + publisher = "jnoortheen"; 64 + version = "0.3.5"; 65 + sha256 = "12sg67mn3c8mjayh9d6y8qaky00vrlnwwx58v1f1m4qrbdjqab46"; 66 + }; 67 + "doppler"."doppler-vscode" = vscode-utils.extensionFromVscodeMarketplace { 68 + name = "doppler-vscode"; 69 + publisher = "doppler"; 70 + version = "0.0.10"; 71 + sha256 = "1cqaxnf45in44i4za36diirgh1q5rkmk27is9h6zgnmgl2i9awa7"; 72 + }; 73 + } 74 + (lib.attrsets.optionalAttrs (isLinux && (isi686 || isx86_64)) { })) 75 + (lib.attrsets.optionalAttrs (isLinux && (isAarch32 || isAarch64)) { })) 76 + (lib.attrsets.optionalAttrs (isDarwin && (isi686 || isx86_64)) { })) 77 + (lib.attrsets.optionalAttrs (isDarwin && (isAarch32 || isAarch64)) { })
+2
.nix-channels
··· 1 + https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager 2 + https://channels.nixos.org/nixos-unstable nixos