NixOS + home-manager configs, mirrored from GitLab SaaS. gitlab.com/andreijiroh-dev/nixops-config
nix-flake nixos home-manager nixpkgs nix-flakes
1
fork

Configure Feed

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

chore: more chaos in the config bts

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

+230 -497
+1 -1
.vscode/settings.json
··· 7 7 } 8 8 ], 9 9 "nix.serverSettings": { 10 - "flake": {"autoArchive": true, "nixpkgsInputName": "nixpkgs"} 10 + "flake": {"autoArchive": true, "nixpkgsInputName": "*"} 11 11 }, 12 12 "markdown.validate.enabled": true, 13 13 "evenBetterToml.schema.associations": {
+24
flake.lock
··· 219 219 "type": "github" 220 220 } 221 221 }, 222 + "nix4vscode": { 223 + "inputs": { 224 + "nixpkgs": [ 225 + "nixpkgs" 226 + ], 227 + "systems": [ 228 + "systems" 229 + ] 230 + }, 231 + "locked": { 232 + "lastModified": 1762740276, 233 + "narHash": "sha256-GIKw253/EbEBSXJxaawt8oSv5JGgTabGT9Y8vBFN4Dg=", 234 + "owner": "nix-community", 235 + "repo": "nix4vscode", 236 + "rev": "bfa9d99a1768af7c6f4dbca7038a202fb80a2e9f", 237 + "type": "github" 238 + }, 239 + "original": { 240 + "owner": "nix-community", 241 + "repo": "nix4vscode", 242 + "type": "github" 243 + } 244 + }, 222 245 "nixlib": { 223 246 "locked": { 224 247 "lastModified": 1736643958, ··· 338 361 "home-manager": "home-manager", 339 362 "lib": "lib", 340 363 "nix-ld": "nix-ld", 364 + "nix4vscode": "nix4vscode", 341 365 "nixos-generators": "nixos-generators", 342 366 "nixos-hardware": "nixos-hardware", 343 367 "nixpkgs": "nixpkgs_2",
+44 -38
flake.nix
··· 50 50 home-manager.follows = "home-manager"; 51 51 }; 52 52 }; 53 + nix4vscode = { 54 + url = "github:nix-community/nix4vscode"; 55 + inputs.nixpkgs.follows = "nixpkgs"; 56 + inputs.systems.follows = "systems"; 57 + }; 53 58 54 59 # nix-ld 55 60 nix-ld = { ··· 71 76 systems, 72 77 nixos-generators, 73 78 lib, 74 - zen-browser 79 + zen-browser, 80 + nix4vscode 75 81 }: 76 82 let 77 83 dev-pkgs = import ./pkgs; ··· 107 113 system = "x86_64-linux"; 108 114 modules = [ 109 115 ./shared/meta.nix 110 - { nixpkgs.overlays = [ self.overlays.default ]; } 111 116 ./hosts/portable/amd64/configuration.nix 112 - 113 - # load Determinate Nix and the rest 114 - determinate.nixosModules.default 115 - home-manager.nixosModules.home-manager 116 - vscode-server.nixosModules.default 117 - nix-ld.nixosModules.nix-ld 118 - 119 - # one-liners? 120 - { programs.nix-ld.dev.enable = true; } 121 117 ]; 122 118 123 119 specialArgs = { 124 - zen-browser = zen-browser; 120 + inherit self; 121 + inherit zen-browser; 122 + inherit dev-pkgs; 123 + inherit nix-ld; 124 + inherit determinate; 125 + inherit home-manager; 126 + inherit vscode-server; 127 + inherit nix4vscode; 125 128 }; 126 129 }; 127 130 ··· 130 133 modules = [ 131 134 ./shared/meta.nix 132 135 ./hosts/lairland/configuration.nix 133 - # load Determinate Nix and the rest 134 - determinate.nixosModules.default 135 - home-manager.nixosModules.home-manager 136 - vscode-server.nixosModules.default 137 - nix-ld.nixosModules.nix-ld 138 - 139 - # one-liners? 140 - { programs.nix-ld.dev.enable = true; } 141 - ./shared/vscode/server.nix 142 136 ]; 143 137 144 138 specialArgs = { 145 139 inherit self; 146 - zen-browser = zen-browser; 147 - dev-pkgs = dev-pkgs; 140 + inherit zen-browser; 141 + inherit dev-pkgs; 142 + inherit nix-ld; 143 + inherit determinate; 144 + inherit home-manager; 145 + inherit vscode-server; 146 + inherit nix4vscode; 148 147 }; 149 148 }; 150 149 ··· 155 154 modules = [ 156 155 ./shared/meta.nix 157 156 ./hosts/stellapent-cier/configuration.nix 158 - 159 - # load Determinate Nix and the rest 160 - determinate.nixosModules.default 161 - home-manager.nixosModules.home-manager 162 - vscode-server.nixosModules.default 163 - nix-ld.nixosModules.nix-ld 164 - 165 - # one-liners? 166 - ./shared/vscode/server.nix 167 157 ]; 168 158 specialArgs = { 169 159 inherit self; 170 - zen-browser = zen-browser; 171 - dev-pkgs = dev-pkgs; 160 + inherit zen-browser; 161 + inherit dev-pkgs; 162 + inherit nix-ld; 163 + inherit determinate; 164 + inherit home-manager; 165 + inherit vscode-server; 166 + inherit nix4vscode; 172 167 }; 173 168 }; 174 169 }; ··· 185 180 inherit self; 186 181 inherit dev-pkgs; 187 182 inherit zen-browser; 183 + inherit nix4vscode; 188 184 }; 189 185 modules = [ 190 186 { 191 187 nixpkgs = { 192 - overlays = [ self.overlays.default ]; 188 + overlays = [ 189 + self.overlays.default 190 + nix4vscode.overlays.default 191 + ]; 193 192 config = { 194 193 allowUnfree = true; 195 194 # https://github.com/nix-community/home-manager/issues/2942 ··· 218 217 inherit self; 219 218 inherit dev-pkgs; 220 219 inherit zen-browser; 220 + inherit nix4vscode; 221 221 }; 222 222 modules = [ 223 223 { 224 224 nixpkgs = { 225 - overlays = [ self.overlays.default ]; 225 + overlays = [ 226 + self.overlays.default 227 + nix4vscode.overlays.default 228 + ]; 226 229 config = { 227 230 allowUnfree = true; 228 231 # https://github.com/nix-community/home-manager/issues/2942 ··· 254 257 modules = [ 255 258 { 256 259 nixpkgs = { 257 - overlays = [ self.overlays.default ]; 260 + overlays = [ 261 + self.overlays.default 262 + nix4vscode.overlays.default 263 + ]; 258 264 config = { 259 265 allowUnfree = true; 260 266 # https://github.com/nix-community/home-manager/issues/2942 ··· 281 287 networking = ./shared/networking.nix; 282 288 locale = ./shared/locale.nix; 283 289 gnupg = ./shared/gnupg.nix; 284 - metaConfigs = ./shared/meta-configs.nix; 290 + metaConfigs = ./shared/nix.nix; 285 291 shells = { 286 292 bash = ./shared/shells/bash.nix; 287 293 customPrompts = ./shared/shells/custom-prompts.nix;
+9 -1
hosts/lairland/users/coolify-runner.nix
··· 8 8 description = "Coolify service user"; 9 9 home = "/opt/docker-data/coolify"; 10 10 extraGroups = [ "docker" ]; 11 - linger = true; 11 + linger = false; 12 12 openssh.authorizedKeys.keys = with import ../../../shared/ssh-keys.nix; [ 13 13 personal.campus-comlab 14 14 infra.termius ··· 17 17 }; 18 18 users.groups.coolify-runner = { 19 19 gid = 9999; 20 + }; 21 + 22 + # Force chown on home directory to fix permissions after UID/GID change 23 + system.activationScripts.chownCoolifyRunnerHome = { 24 + text = '' 25 + chown -R coolify-runner:coolify-runner ${config.users.users.coolify-runner.home} 26 + ''; 27 + deps = [ "users" ]; 20 28 }; 21 29 }
-11
shared/home-manager/main.nix
··· 38 38 39 39 # Let Home Manager install and manage itself. 40 40 programs.home-manager.enable = true; 41 - 42 - programs.vscode = { 43 - enable = true; 44 - package = pkgs.vscode; 45 - profiles = { 46 - default = { 47 - enableExtensionUpdateCheck = true; 48 - }; 49 - }; 50 - mutableExtensionsDir = true; 51 - }; 52 41 }
+68
shared/home-manager/vscode.nix
··· 1 + { pkgs, config, lib, self, ... }: 2 + 3 + let 4 + inherit (pkgs.nix4vscode) 5 + forVscode 6 + forVscodeVersion 7 + forVscodePrerelease 8 + forVscodeVersionPrerelease 9 + ; 10 + in 11 + { 12 + programs.vscode = { 13 + enable = true; 14 + package = pkgs.vscode; 15 + profiles = { 16 + default = { 17 + enableExtensionUpdateCheck = true; 18 + }; 19 + }; 20 + mutableExtensionsDir = true; 21 + extensions = 22 + forVscode [ 23 + # themeing 24 + "GitHub.github-vscode-theme" 25 + "PKief.material-icon-theme" 26 + "PKief.material-product-icons" 27 + 28 + # tooling 29 + "mkhl.direnv" 30 + "github.vscode-github-actions" 31 + "ms-vscode-remote.remote-ssh-edit" 32 + "ms-azuretools.vscode-containers" 33 + "GitHub.copilot-chat" 34 + "wdhongtw.gpg-indicator" 35 + "WakaTime.vscode-wakatime" 36 + "ms-vscode.remote-repositories" 37 + "GitHub.remotehub" 38 + 39 + # languages: formatting, code highlighting, etc. 40 + "bbenoist.Nix" 41 + "arrterian.nix-env-selector" 42 + "brettm12345.nixfmt-vscode" 43 + "tamasfe.even-better-toml" 44 + "bierner.emojisense" 45 + "redhat.vscode-yaml" 46 + "mads-hartmann.bash-ide-vscode" 47 + "yzhang.markdown-all-in-one" 48 + "bierner.markdown-checkbox" 49 + "bierner.markdown-emoji" 50 + "bierner.markdown-footnotes" 51 + "yahyabatulu.vscode-markdown-alert" 52 + "bierner.markdown-preview-github-styles" 53 + "bierner.markdown-mermaid" 54 + "bierner.markdown-yaml-preamble" 55 + "DavidAnson.vscode-markdownlint" 56 + 57 + ] ++ forVscodePrerelease [ 58 + # tooling 59 + "eamodio.gitlens" 60 + "ms-vscode.remote-server" 61 + "ms-vscode-remote.remote-ssh" 62 + "GitHub.vscode-pull-request-github" 63 + 64 + # AI tools 65 + "GitHub.copilot" 66 + ]; 67 + }; 68 + }
+15 -1
shared/meta.nix
··· 1 1 # One Nix file to import all the base configs without cluttering the per-host 2 2 # imports, alongside a minimal base packages. 3 - { pkgs, ... }: 3 + { pkgs, nix-ld, determinate, home-manager, vscode-server, ... }: 4 4 5 5 { 6 6 # import configs first 7 7 imports = [ 8 + # nix flake modules first 9 + nix-ld.nixosModules.nix-ld 10 + determinate.nixosModules.default 11 + home-manager.nixosModules.home-manager 12 + vscode-server.nixosModules.default 13 + 14 + # then the configs 8 15 ./1password.nix 9 16 ./nix.nix 10 17 ./appimages.nix ··· 14 21 ./systemd.nix 15 22 ./shells/bash.nix 16 23 ./shells/custom-prompts.nix 24 + ./vscode/main.nix 17 25 ]; 18 26 19 27 # and then the base packages itself ··· 42 50 oh-my-posh # as backup lol 43 51 ]; 44 52 53 + # home-manager stuff 45 54 home-manager.useGlobalPkgs = true; 46 55 home-manager.useUserPackages = true; 56 + 57 + # nix-ld flake opts 58 + programs.nix-ld.dev = { 59 + enable = true; 60 + }; 47 61 }
+5 -2
shared/nix.nix
··· 1 1 # This is the meta config file for nixpkgs and nix cli itself, including 2 2 # trusted keys for cachix caches and stateVersion for NixOS. 3 3 4 - { config, pkgs, lib, self, ... }: 4 + { config, pkgs, lib, self, nix4vscode, ... }: 5 5 6 6 { 7 7 # Adopted from https://fnordig.de/til/nix/home-manager-allow-unfree.html, ··· 12 12 # https://github.com/nix-community/home-manager/issues/2942 13 13 allowUnfreePredicate = (_: true); 14 14 }; 15 - overlays = [ self.overlays.default ]; 15 + overlays = [ 16 + self.overlays.default 17 + nix4vscode.overlays.default 18 + ]; 16 19 }; 17 20 18 21 nix = {
-443
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 - "ms-python"."vscode-pylance" = vscode-utils.extensionFromVscodeMarketplace { 14 - name = "vscode-pylance"; 15 - publisher = "ms-python"; 16 - version = "2024.12.100"; 17 - sha256 = "167cj9r476whfjg474s4nf7zi8v7cj58vrqiw86y4vcgl57v4h50"; 18 - }; 19 - "esbenp"."prettier-vscode" = vscode-utils.extensionFromVscodeMarketplace { 20 - name = "prettier-vscode"; 21 - publisher = "esbenp"; 22 - version = "11.0.0"; 23 - sha256 = "1fcz8f4jgnf24kblf8m8nwgzd5pxs2gmrv235cpdgmqz38kf9n54"; 24 - }; 25 - "ms-azuretools"."vscode-docker" = vscode-utils.extensionFromVscodeMarketplace { 26 - name = "vscode-docker"; 27 - publisher = "ms-azuretools"; 28 - version = "1.29.3"; 29 - sha256 = "1j35yr8f0bqzv6qryw0krbfigfna94b519gnfy46sr1licb6li6g"; 30 - }; 31 - "dbaeumer"."vscode-eslint" = vscode-utils.extensionFromVscodeMarketplace { 32 - name = "vscode-eslint"; 33 - publisher = "dbaeumer"; 34 - version = "3.0.13"; 35 - sha256 = "0yjrylvkw5q9w7kjigndm5m66qn8nranrm0m7qna8ggi0f2nz5cp"; 36 - }; 37 - "eamodio"."gitlens" = vscode-utils.extensionFromVscodeMarketplace { 38 - name = "gitlens"; 39 - publisher = "eamodio"; 40 - version = "2024.12.2404"; 41 - sha256 = "0wc0hqaxf5sh9wjsx29mnl6i8bf2jhsi4a1hshwiwm08p6lhg4fv"; 42 - }; 43 - "pkief"."material-icon-theme" = vscode-utils.extensionFromVscodeMarketplace { 44 - name = "material-icon-theme"; 45 - publisher = "pkief"; 46 - version = "5.16.0"; 47 - sha256 = "0ggwj2y84dyqhzl9kisddx64559bkhnfv94zxz6zcqyfq0vpycng"; 48 - }; 49 - "github"."vscode-pull-request-github" = vscode-utils.extensionFromVscodeMarketplace { 50 - name = "vscode-pull-request-github"; 51 - publisher = "github"; 52 - version = "0.103.2024121117"; 53 - sha256 = "0k90870ra85np0dg19mx2blr1yg9i2sk25mx08bblqh0hh0s5941"; 54 - }; 55 - "github"."copilot" = vscode-utils.extensionFromVscodeMarketplace { 56 - name = "copilot"; 57 - publisher = "github"; 58 - version = "1.254.1278"; 59 - sha256 = "0n55apya8q87l4ijfvj3qqwg6sij1k9is99zc2wffgmghqb9fv7l"; 60 - }; 61 - "wakatime"."vscode-wakatime" = vscode-utils.extensionFromVscodeMarketplace { 62 - name = "vscode-wakatime"; 63 - publisher = "wakatime"; 64 - version = "25.0.0"; 65 - sha256 = "1c5ilsj8zvcrhvh3gb9wbgz8llfkjgxnv39r12a3iyy3fvdg5zlz"; 66 - }; 67 - "github"."copilot-chat" = vscode-utils.extensionFromVscodeMarketplace { 68 - name = "copilot-chat"; 69 - publisher = "github"; 70 - version = "0.24.2024121201"; 71 - sha256 = "14cs1ncbv0fib65m1iv6njl892p09fmamjkfyxrsjqgks2hisz5z"; 72 - }; 73 - "xabikos"."javascriptsnippets" = vscode-utils.extensionFromVscodeMarketplace { 74 - name = "javascriptsnippets"; 75 - publisher = "xabikos"; 76 - version = "1.8.0"; 77 - sha256 = "19xg24alxsvq8pvafprshg7qxzx8p37bzk7qz6kjgkpvandrdpl6"; 78 - }; 79 - "github"."github-vscode-theme" = vscode-utils.extensionFromVscodeMarketplace { 80 - name = "github-vscode-theme"; 81 - publisher = "github"; 82 - version = "6.3.5"; 83 - sha256 = "0jj7bp5iadrm2h75pdn96z0wzygv0sfa93karvlqlwagh2hrvrkl"; 84 - }; 85 - "golang"."go" = vscode-utils.extensionFromVscodeMarketplace { 86 - name = "go"; 87 - publisher = "golang"; 88 - version = "0.45.0"; 89 - sha256 = "1ihy5pd5ymxarcgnq8ky7nfa9kk9x3hdazajirrh5f1m4cwgizn3"; 90 - }; 91 - "donjayamanne"."githistory" = vscode-utils.extensionFromVscodeMarketplace { 92 - name = "githistory"; 93 - publisher = "donjayamanne"; 94 - version = "0.6.20"; 95 - sha256 = "0x9q7sh5l1frpvfss32ypxk03d73v9npnqxif4fjwcfwvx5mhiww"; 96 - }; 97 - "streetsidesoftware"."code-spell-checker" = vscode-utils.extensionFromVscodeMarketplace { 98 - name = "code-spell-checker"; 99 - publisher = "streetsidesoftware"; 100 - version = "4.0.29"; 101 - sha256 = "1vx7qs66vbkshig029qgxmcx1shg5hkjkj7bd693hzfhz8702krs"; 102 - }; 103 - "editorconfig"."editorconfig" = vscode-utils.extensionFromVscodeMarketplace { 104 - name = "editorconfig"; 105 - publisher = "editorconfig"; 106 - version = "0.16.4"; 107 - sha256 = "0fa4h9hk1xq6j3zfxvf483sbb4bd17fjl5cdm3rll7z9kaigdqwg"; 108 - }; 109 - "bradlc"."vscode-tailwindcss" = vscode-utils.extensionFromVscodeMarketplace { 110 - name = "vscode-tailwindcss"; 111 - publisher = "bradlc"; 112 - version = "0.13.64"; 113 - sha256 = "14962pavlbdmqki6m7y7k9nvz1pcicrn3dw10lrcq8vxbj2bc416"; 114 - }; 115 - "davidanson"."vscode-markdownlint" = vscode-utils.extensionFromVscodeMarketplace { 116 - name = "vscode-markdownlint"; 117 - publisher = "davidanson"; 118 - version = "0.57.0"; 119 - sha256 = "1gsc3xsvy4qbz75frk6jjf2f95b0frmbclhgxi1j49zbh16y2b76"; 120 - }; 121 - "mikestead"."dotenv" = vscode-utils.extensionFromVscodeMarketplace { 122 - name = "dotenv"; 123 - publisher = "mikestead"; 124 - version = "1.0.1"; 125 - sha256 = "0rs57csczwx6wrs99c442qpf6vllv2fby37f3a9rhwc8sg6849vn"; 126 - }; 127 - "github"."codespaces" = vscode-utils.extensionFromVscodeMarketplace { 128 - name = "codespaces"; 129 - publisher = "github"; 130 - version = "1.17.3"; 131 - sha256 = "1g4b7gd24cifmh62v1dj1b79yp5z6jbffmwh2nlymjbqf9h4bll9"; 132 - }; 133 - "mtxr"."sqltools" = vscode-utils.extensionFromVscodeMarketplace { 134 - name = "sqltools"; 135 - publisher = "mtxr"; 136 - version = "0.28.3"; 137 - sha256 = "0zs8gdfar6g7j1mybdrpx7rmydlb1smqicw9438hrfzw301cffkd"; 138 - }; 139 - "codezombiech"."gitignore" = vscode-utils.extensionFromVscodeMarketplace { 140 - name = "gitignore"; 141 - publisher = "codezombiech"; 142 - version = "0.9.0"; 143 - sha256 = "0ww0x28m83fv5zdqkmz108rsxb60fyy5y0ksknb2xchirzwhayi0"; 144 - }; 145 - "github"."remotehub" = vscode-utils.extensionFromVscodeMarketplace { 146 - name = "remotehub"; 147 - publisher = "github"; 148 - version = "0.65.2024112101"; 149 - sha256 = "0mbw1nzvf8ch55vq0lsf0qpfl1dgyk5y80pca81j9dplyz4vrgax"; 150 - }; 151 - "ms-vscode"."remote-repositories" = vscode-utils.extensionFromVscodeMarketplace { 152 - name = "remote-repositories"; 153 - publisher = "ms-vscode"; 154 - version = "0.43.2024112101"; 155 - sha256 = "1mss2fkpx21dm5rlnbhqw7japxz4k22grrv66ja34fl9fbqli9zw"; 156 - }; 157 - "github"."vscode-github-actions" = vscode-utils.extensionFromVscodeMarketplace { 158 - name = "vscode-github-actions"; 159 - publisher = "github"; 160 - version = "0.27.0"; 161 - sha256 = "0sk8cgnk4pyjxwfi3hr3qrajffvdncvq3xbjn73g3jz0ygakg7xi"; 162 - }; 163 - "ms-vscode"."azure-repos" = vscode-utils.extensionFromVscodeMarketplace { 164 - name = "azure-repos"; 165 - publisher = "ms-vscode"; 166 - version = "0.41.2024112101"; 167 - sha256 = "1dgyr1zmrl1aihlsfn0grrysmzf4g47m968zdn7fyc17hl857r59"; 168 - }; 169 - "orta"."vscode-jest" = vscode-utils.extensionFromVscodeMarketplace { 170 - name = "vscode-jest"; 171 - publisher = "orta"; 172 - version = "6.4.0"; 173 - sha256 = "0asjg2ycq20qg2zyxybnmas2br08mjwhsw03y0qz24g8rkn9a7s4"; 174 - }; 175 - "tamasfe"."even-better-toml" = vscode-utils.extensionFromVscodeMarketplace { 176 - name = "even-better-toml"; 177 - publisher = "tamasfe"; 178 - version = "0.21.2"; 179 - sha256 = "0208cms054yj2l8pz9jrv3ydydmb47wr4i0sw8qywpi8yimddf11"; 180 - }; 181 - "bierner"."markdown-mermaid" = vscode-utils.extensionFromVscodeMarketplace { 182 - name = "markdown-mermaid"; 183 - publisher = "bierner"; 184 - version = "1.27.0"; 185 - sha256 = "1c9nvi2r3frbyi2ygff2zh3ylvr4df585mb6b5r8n6g5aa9kzp6k"; 186 - }; 187 - "prisma"."prisma" = vscode-utils.extensionFromVscodeMarketplace { 188 - name = "prisma"; 189 - publisher = "prisma"; 190 - version = "6.1.0"; 191 - sha256 = "1m4i60hm62m1bl6nn4pk0l54ph7zf0c3ppvx4qc4bwpqv82k7xv1"; 192 - }; 193 - "bierner"."markdown-preview-github-styles" = vscode-utils.extensionFromVscodeMarketplace { 194 - name = "markdown-preview-github-styles"; 195 - publisher = "bierner"; 196 - version = "2.1.0"; 197 - sha256 = "1fn9gdf3xj1drch4djn6c9lg94i2r9yjpfrf1a0y4v8q2zjk8sz8"; 198 - }; 199 - "gitlab"."gitlab-workflow" = vscode-utils.extensionFromVscodeMarketplace { 200 - name = "gitlab-workflow"; 201 - publisher = "gitlab"; 202 - version = "5.26.0"; 203 - sha256 = "1xb8a834bgblc4zcrdc9v3by3wv3fls3bz3bm7rxaqyvszlpb42d"; 204 - }; 205 - "bierner"."markdown-emoji" = vscode-utils.extensionFromVscodeMarketplace { 206 - name = "markdown-emoji"; 207 - publisher = "bierner"; 208 - version = "0.3.1"; 209 - sha256 = "0409sks7zz0lp1a0x6nxsh11yfnnb36s802q6dwfwjnblp049xw1"; 210 - }; 211 - "denoland"."vscode-deno" = vscode-utils.extensionFromVscodeMarketplace { 212 - name = "vscode-deno"; 213 - publisher = "denoland"; 214 - version = "3.43.1"; 215 - sha256 = "0lna1znrbsdggzp6mx079461p21ngwgqz6mb7i3d0bnpxb844x3a"; 216 - }; 217 - "bierner"."markdown-checkbox" = vscode-utils.extensionFromVscodeMarketplace { 218 - name = "markdown-checkbox"; 219 - publisher = "bierner"; 220 - version = "0.4.0"; 221 - sha256 = "0jbfi0av84ixwhcpysh9gyrsfxpy65igiidrdarn7vgsvxsdr0q2"; 222 - }; 223 - "unifiedjs"."vscode-mdx" = vscode-utils.extensionFromVscodeMarketplace { 224 - name = "vscode-mdx"; 225 - publisher = "unifiedjs"; 226 - version = "1.8.12"; 227 - sha256 = "0afzx5i6bw7hmm4f8vdvx6a6mx053gmvc0gn78fz94b6fyaijsl7"; 228 - }; 229 - "bierner"."emojisense" = vscode-utils.extensionFromVscodeMarketplace { 230 - name = "emojisense"; 231 - publisher = "bierner"; 232 - version = "0.10.0"; 233 - sha256 = "14rb8licb32rh04g7lq73lmfx4pk2p4x63427l3s9fw9idsiwgrw"; 234 - }; 235 - "bierner"."markdown-yaml-preamble" = vscode-utils.extensionFromVscodeMarketplace { 236 - name = "markdown-yaml-preamble"; 237 - publisher = "bierner"; 238 - version = "0.1.0"; 239 - sha256 = "1xlb6dvrsy2sp92lax1nq01xcrax1nm256ns9b4vvkq7p4njpqp5"; 240 - }; 241 - "bierner"."markdown-footnotes" = vscode-utils.extensionFromVscodeMarketplace { 242 - name = "markdown-footnotes"; 243 - publisher = "bierner"; 244 - version = "0.1.1"; 245 - sha256 = "1pp64x8cn4vmpscmzv2dg6bakjhnwd36rms2wl6bs5laq29k5wl7"; 246 - }; 247 - "bierner"."github-markdown-preview" = vscode-utils.extensionFromVscodeMarketplace { 248 - name = "github-markdown-preview"; 249 - publisher = "bierner"; 250 - version = "0.3.0"; 251 - sha256 = "124vsg5jxa90j3mssxi18nb3wn6fji6b0mnnkasa89rgx3jfb5pf"; 252 - }; 253 - "pkief"."material-product-icons" = vscode-utils.extensionFromVscodeMarketplace { 254 - name = "material-product-icons"; 255 - publisher = "pkief"; 256 - version = "1.7.1"; 257 - sha256 = "1g75m55fc6nnfazpgmjxc48kw8abv85sglmmmjglwwgwi0di2xlj"; 258 - }; 259 - "vivaxy"."vscode-conventional-commits" = vscode-utils.extensionFromVscodeMarketplace { 260 - name = "vscode-conventional-commits"; 261 - publisher = "vivaxy"; 262 - version = "1.26.0"; 263 - sha256 = "1n414wwd6my4xjmh55b6l0s8bqadnq35ya1isxvdi6yabapbwg9f"; 264 - }; 265 - "coolbear"."systemd-unit-file" = vscode-utils.extensionFromVscodeMarketplace { 266 - name = "systemd-unit-file"; 267 - publisher = "coolbear"; 268 - version = "1.0.6"; 269 - sha256 = "0sc0zsdnxi4wfdlmaqwb6k2qc21dgwx6ipvri36x7agk7m8m4736"; 270 - }; 271 - "ms-vscode"."wordcount" = vscode-utils.extensionFromVscodeMarketplace { 272 - name = "wordcount"; 273 - publisher = "ms-vscode"; 274 - version = "0.1.0"; 275 - sha256 = "164s721bqbw2lh770vli9vij8q79033nd5k1acxwadmlf99hmgj1"; 276 - }; 277 - "ms-vscode"."vscode-github-issue-notebooks" = vscode-utils.extensionFromVscodeMarketplace { 278 - name = "vscode-github-issue-notebooks"; 279 - publisher = "ms-vscode"; 280 - version = "0.0.130"; 281 - sha256 = "0g82z1qpj1abfykflk0yq0j40mqwfkxk7sx0ms9q7wa2yblwj1fk"; 282 - }; 283 - "exiasr"."hadolint" = vscode-utils.extensionFromVscodeMarketplace { 284 - name = "hadolint"; 285 - publisher = "exiasr"; 286 - version = "1.1.2"; 287 - sha256 = "00x6bnjm0yk0fcw91c47g8c5shgbcvxyyz49r4y23q4gqizvaqz8"; 288 - }; 289 - "drknoxy"."eslint-disable-snippets" = vscode-utils.extensionFromVscodeMarketplace { 290 - name = "eslint-disable-snippets"; 291 - publisher = "drknoxy"; 292 - version = "1.4.1"; 293 - sha256 = "1djjknfg81cjbn4bcalc7gg9fha5lzwmpmmrzm68n87qvld58hs4"; 294 - }; 295 - "leighlondon"."eml" = vscode-utils.extensionFromVscodeMarketplace { 296 - name = "eml"; 297 - publisher = "leighlondon"; 298 - version = "0.4.0"; 299 - sha256 = "180gis04nisccr9l4ibks5fn2gp327b9bmwjiap81lir859kkrzv"; 300 - }; 301 - "jnoortheen"."nix-ide" = vscode-utils.extensionFromVscodeMarketplace { 302 - name = "nix-ide"; 303 - publisher = "jnoortheen"; 304 - version = "0.3.5"; 305 - sha256 = "12sg67mn3c8mjayh9d6y8qaky00vrlnwwx58v1f1m4qrbdjqab46"; 306 - }; 307 - "matthewpi"."caddyfile-support" = vscode-utils.extensionFromVscodeMarketplace { 308 - name = "caddyfile-support"; 309 - publisher = "matthewpi"; 310 - version = "0.4.0"; 311 - sha256 = "1fjhirybvb92frqj1ssh49a73q497ny69z9drdjlkpaccpbvb0r7"; 312 - }; 313 - "ultram4rine"."vscode-choosealicense" = vscode-utils.extensionFromVscodeMarketplace { 314 - name = "vscode-choosealicense"; 315 - publisher = "ultram4rine"; 316 - version = "0.9.4"; 317 - sha256 = "1hs8sjbq9rvs8wkaxx9nh9swbdca9rfkamf2mcvp3gyw7d5park2"; 318 - }; 319 - "tailscale"."vscode-tailscale" = vscode-utils.extensionFromVscodeMarketplace { 320 - name = "vscode-tailscale"; 321 - publisher = "tailscale"; 322 - version = "1.0.0"; 323 - sha256 = "0j41xbz6zangq7i4mj4xgdpsswss3jnznyd9v3943yvfhmkq5a1h"; 324 - }; 325 - "wdhongtw"."gpg-indicator" = vscode-utils.extensionFromVscodeMarketplace { 326 - name = "gpg-indicator"; 327 - publisher = "wdhongtw"; 328 - version = "0.7.2"; 329 - sha256 = "0sfn2lvj2a7kwkbjpswbl9hwhpcv053gnxny5x5rhsqcsq2nx8yk"; 330 - }; 331 - "r3inbowari"."gomodexplorer" = vscode-utils.extensionFromVscodeMarketplace { 332 - name = "gomodexplorer"; 333 - publisher = "r3inbowari"; 334 - version = "0.3.18"; 335 - sha256 = "1k0assbxwakbsxfp5d2kcq1pfg3rzdmzc96d7qgrhrp9lx22n8p9"; 336 - }; 337 - "doppler"."doppler-vscode" = vscode-utils.extensionFromVscodeMarketplace { 338 - name = "doppler-vscode"; 339 - publisher = "doppler"; 340 - version = "0.0.10"; 341 - sha256 = "1cqaxnf45in44i4za36diirgh1q5rkmk27is9h6zgnmgl2i9awa7"; 342 - }; 343 - "yahyabatulu"."vscode-markdown-alert" = vscode-utils.extensionFromVscodeMarketplace { 344 - name = "vscode-markdown-alert"; 345 - publisher = "yahyabatulu"; 346 - version = "0.0.4"; 347 - sha256 = "1b4ngq3hn362ngdybjazr0x73whr7p5sbxms80s8mdd7yhq949kl"; 348 - }; 349 - "martellaj"."license-injector" = vscode-utils.extensionFromVscodeMarketplace { 350 - name = "license-injector"; 351 - publisher = "martellaj"; 352 - version = "0.0.2"; 353 - sha256 = "09d9bbd5drp3krla2q37dp4rrz4mb20mnsrkjpb00n1mvf7q1fps"; 354 - }; 355 - "codiium"."wrangler" = vscode-utils.extensionFromVscodeMarketplace { 356 - name = "wrangler"; 357 - publisher = "codiium"; 358 - version = "0.0.1"; 359 - sha256 = "1g2wx6ln2kym2daqgc3nxw995rb1c1n7j3gqj0vfbk520qp4vhfx"; 360 - }; 361 - "joel-harkes"."emlviewer" = vscode-utils.extensionFromVscodeMarketplace { 362 - name = "emlviewer"; 363 - publisher = "joel-harkes"; 364 - version = "0.0.4"; 365 - sha256 = "08rh5j50jkhcywkngf493cdim15f6vbj08av6m1cvp0v3ha21vdq"; 366 - }; 367 - "aikebang"."mkdocs-syntax-highlight" = vscode-utils.extensionFromVscodeMarketplace { 368 - name = "mkdocs-syntax-highlight"; 369 - publisher = "aikebang"; 370 - version = "0.2.1"; 371 - sha256 = "1gpcjdcf9yr263cql14wwyw2f5fsq06i2bsr8nja0izyw76g8wvm"; 372 - }; 373 - "devfile"."vscode-devfile" = vscode-utils.extensionFromVscodeMarketplace { 374 - name = "vscode-devfile"; 375 - publisher = "devfile"; 376 - version = "0.0.2"; 377 - sha256 = "156vq1gr7x94nrjlgv1a5qz0r8k5vh9y9hz1f0jaxcjcynjp4ijs"; 378 - }; 379 - } 380 - (lib.attrsets.optionalAttrs (isLinux && (isi686 || isx86_64)) { 381 - "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { 382 - name = "python"; 383 - publisher = "ms-python"; 384 - version = "2024.23.2024121901"; 385 - sha256 = "01wfhbaq9v2wvnndh6dphq1f6c04dg0yx9p7637v9bl124zm0qw7"; 386 - arch = "linux-x64"; 387 - }; 388 - "timonwong"."shellcheck" = vscode-utils.extensionFromVscodeMarketplace { 389 - name = "shellcheck"; 390 - publisher = "timonwong"; 391 - version = "0.37.1"; 392 - sha256 = "13gdyiafqla7dra17q842d8a7vrgmf0im4z6qm6xzgim71qzcqhy"; 393 - arch = "linux-x64"; 394 - }; 395 - })) 396 - (lib.attrsets.optionalAttrs (isLinux && (isAarch32 || isAarch64)) { 397 - "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { 398 - name = "python"; 399 - publisher = "ms-python"; 400 - version = "2024.23.2024121901"; 401 - sha256 = "1qs14aca323yqc93rrnwvp7v40k9z2500lj9pkh5sa2pfm9cl68x"; 402 - arch = "linux-arm64"; 403 - }; 404 - "timonwong"."shellcheck" = vscode-utils.extensionFromVscodeMarketplace { 405 - name = "shellcheck"; 406 - publisher = "timonwong"; 407 - version = "0.37.1"; 408 - sha256 = "1xp4qyrs8rcaba94nm26da0lf0qjbchp218jm4iyczg5dpgvp6hk"; 409 - arch = "linux-arm64"; 410 - }; 411 - })) 412 - (lib.attrsets.optionalAttrs (isDarwin && (isi686 || isx86_64)) { 413 - "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { 414 - name = "python"; 415 - publisher = "ms-python"; 416 - version = "2024.23.2024121901"; 417 - sha256 = "0jh7rkh5j2l8irb2d43hy9n5kw59czyijsiq5f9641rfl6yvakzh"; 418 - arch = "darwin-x64"; 419 - }; 420 - "timonwong"."shellcheck" = vscode-utils.extensionFromVscodeMarketplace { 421 - name = "shellcheck"; 422 - publisher = "timonwong"; 423 - version = "0.37.1"; 424 - sha256 = "0jvi9pzw80ga47p9zy92wy43prci5dj8lfa5syxl5cvchd3848v1"; 425 - arch = "darwin-x64"; 426 - }; 427 - })) 428 - (lib.attrsets.optionalAttrs (isDarwin && (isAarch32 || isAarch64)) { 429 - "ms-python"."python" = vscode-utils.extensionFromVscodeMarketplace { 430 - name = "python"; 431 - publisher = "ms-python"; 432 - version = "2024.23.2024121901"; 433 - sha256 = "1d0w7ih58bg1smmjp3i798qbf08maqa3m263ygvllyawy3kl03qr"; 434 - arch = "darwin-arm64"; 435 - }; 436 - "timonwong"."shellcheck" = vscode-utils.extensionFromVscodeMarketplace { 437 - name = "shellcheck"; 438 - publisher = "timonwong"; 439 - version = "0.37.1"; 440 - sha256 = "0l72fmphy7v86jdlbk4xclaxm6g2mc2cd3jcydwrnwyfagh2n9di"; 441 - arch = "darwin-arm64"; 442 - }; 443 - })
+64
shared/vscode/main.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + let 4 + inherit (pkgs.nix4vscode) 5 + forVscode 6 + forVscodePrerelease 7 + ; 8 + in 9 + { 10 + imports = [ 11 + ./server.nix 12 + ]; 13 + 14 + programs.vscode = { 15 + package = pkgs.vscode; 16 + enable = true; 17 + extensions = 18 + forVscode [ 19 + # themeing 20 + "GitHub.github-vscode-theme" 21 + "PKief.material-icon-theme" 22 + "PKief.material-product-icons" 23 + 24 + # tooling 25 + "mkhl.direnv" 26 + "github.vscode-github-actions" 27 + "ms-vscode-remote.remote-ssh-edit" 28 + "ms-azuretools.vscode-containers" 29 + "GitHub.copilot-chat" 30 + "wdhongtw.gpg-indicator" 31 + "WakaTime.vscode-wakatime" 32 + "ms-vscode.remote-repositories" 33 + "GitHub.remotehub" 34 + 35 + # languages: formatting, code highlighting, etc. 36 + "bbenoist.Nix" 37 + "arrterian.nix-env-selector" 38 + "brettm12345.nixfmt-vscode" 39 + "tamasfe.even-better-toml" 40 + "bierner.emojisense" 41 + "redhat.vscode-yaml" 42 + "mads-hartmann.bash-ide-vscode" 43 + "yzhang.markdown-all-in-one" 44 + "bierner.markdown-checkbox" 45 + "bierner.markdown-emoji" 46 + "bierner.markdown-footnotes" 47 + "yahyabatulu.vscode-markdown-alert" 48 + "bierner.markdown-preview-github-styles" 49 + "bierner.markdown-mermaid" 50 + "bierner.markdown-yaml-preamble" 51 + "DavidAnson.vscode-markdownlint" 52 + 53 + ] ++ forVscodePrerelease [ 54 + # tooling 55 + "eamodio.gitlens" 56 + "ms-vscode.remote-server" 57 + "ms-vscode-remote.remote-ssh" 58 + "GitHub.vscode-pull-request-github" 59 + 60 + # AI tools 61 + "GitHub.copilot" 62 + ]; 63 + }; 64 + }