Nix configurations for my personal machines (Linux & macOS)

desktop: switch to vscodium and mange extensions with nix

ovyerus.com fbcf44d3 d1a5db12

verified
Changed files
+182 -30
home
+97 -28
flake.lock
···
"type": "github"
}
},
+
"flake-utils_3": {
+
"inputs": {
+
"systems": "systems_3"
+
},
+
"locked": {
+
"lastModified": 1731533236,
+
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+
"owner": "numtide",
+
"repo": "flake-utils",
+
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+
"type": "github"
+
},
+
"original": {
+
"owner": "numtide",
+
"repo": "flake-utils",
+
"type": "github"
+
}
+
},
"flakey-profile": {
"locked": {
"lastModified": 1712898590,
···
]
},
"locked": {
-
"lastModified": 1741461731,
-
"narHash": "sha256-BBQfGvO3GWOV+5tmqH14gNcZrRaQ7Q3tQx31Frzoip8=",
+
"lastModified": 1742701794,
+
"narHash": "sha256-bJIFFa6/4vBGoNmCwjO5TCIbiveV2BRxVLqHcxk5jXw=",
"owner": "nix-community",
"repo": "home-manager",
-
"rev": "7f4c60a3d6e548dbc13666565c22cb3f8dcdad44",
+
"rev": "9172a6f956f7e0f7810861b9b1146f1c43d9abcb",
"type": "github"
},
"original": {
···
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
-
"lastModified": 1741472692,
-
"narHash": "sha256-OtZauVXHD7Q2ptcLrEJABfU+wL2cfz7qCKfebL8BlJE=",
+
"lastModified": 1742712742,
+
"narHash": "sha256-XfK3wOZDSQUszjo8HvGirbRTwFfOXTicgXXdjdkbwBo=",
"owner": "sodiboo",
"repo": "niri-flake",
-
"rev": "d5e517fd6b3c930a369bc81a0402a8d7eec956a6",
+
"rev": "cefd5c3e1c40bec5113e61ddcd1f834b5218cf55",
"type": "github"
},
"original": {
···
"niri-unstable": {
"flake": false,
"locked": {
-
"lastModified": 1741459657,
-
"narHash": "sha256-FalBBKrwu+YfGaNOsUTT4wzGWwx6EH+TkkRJV9TZjE8=",
+
"lastModified": 1742710491,
+
"narHash": "sha256-ZAcpSVXTeHayQG8WfH/FXcqRz4lXLN0Nda0ZlZ74/Cs=",
"owner": "YaLTeR",
"repo": "niri",
-
"rev": "69627bdc64d8891befff95e807869416658d36c6",
+
"rev": "500dcca9b70c9b8968f3dbcfe06c4177ca7fd66a",
"type": "github"
},
"original": {
···
]
},
"locked": {
-
"lastModified": 1741229100,
-
"narHash": "sha256-0HwrTDXp9buEwal/1ymK9uQmzUD5ozIA7CJGqnT/gLs=",
+
"lastModified": 1742595055,
+
"narHash": "sha256-cEetDber6LF8W4ThmRc4rwKs/o8y2GH0pUdX7e6CnAQ=",
"owner": "LnL7",
"repo": "nix-darwin",
-
"rev": "adf5c88ba1fe21af5c083b4d655004431f20c5ab",
+
"rev": "e9f41de2a81f04390afd106959adf352a207628f",
"type": "github"
},
"original": {
···
]
},
"locked": {
-
"lastModified": 1741446546,
-
"narHash": "sha256-0z0GiUsUhjhZWa24bcAxqmlI3Ch8QvEeh42wghc6oVw=",
+
"lastModified": 1742701275,
+
"narHash": "sha256-AulwPVrS9859t+eJ61v24wH/nfBEIDSXYxlRo3fL/SA=",
"owner": "nix-community",
"repo": "nix-index-database",
-
"rev": "eeaf10849c3a0435323216885c0df7569dc95cb9",
+
"rev": "36dc43cb50d5d20f90a28d53abb33a32b0a2aae6",
"type": "github"
},
"original": {
···
"type": "github"
}
},
+
"nix-vscode-extensions": {
+
"inputs": {
+
"flake-utils": "flake-utils_3",
+
"nixpkgs": "nixpkgs"
+
},
+
"locked": {
+
"lastModified": 1742608212,
+
"narHash": "sha256-t0+4dSHdFoseTG8OiA3qfw0GglXeGINwxTayTQPIlHA=",
+
"owner": "nix-community",
+
"repo": "nix-vscode-extensions",
+
"rev": "4ea55231137b25c591f2952726e026ef40d077da",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nix-community",
+
"repo": "nix-vscode-extensions",
+
"type": "github"
+
}
+
},
"nixpkgs": {
"locked": {
-
"lastModified": 1741379970,
-
"narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=",
-
"owner": "nixos",
+
"lastModified": 1740547748,
+
"narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=",
+
"owner": "NixOS",
"repo": "nixpkgs",
-
"rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f",
+
"rev": "3a05eebede89661660945da1f151959900903b6a",
"type": "github"
},
"original": {
-
"owner": "nixos",
-
"ref": "nixos-unstable",
+
"owner": "NixOS",
"repo": "nixpkgs",
+
"rev": "3a05eebede89661660945da1f151959900903b6a",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
-
"lastModified": 1741332913,
-
"narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=",
+
"lastModified": 1742512142,
+
"narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=",
"owner": "NixOS",
"repo": "nixpkgs",
-
"rev": "20755fa05115c84be00b04690630cb38f0a203ad",
+
"rev": "7105ae3957700a9646cc4b766f5815b23ed0c682",
"type": "github"
},
"original": {
···
"type": "github"
}
},
+
"nixpkgs_2": {
+
"locked": {
+
"lastModified": 1742422364,
+
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
+
"owner": "nixos",
+
"repo": "nixpkgs",
+
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nixos",
+
"ref": "nixos-unstable",
+
"repo": "nixpkgs",
+
"type": "github"
+
}
+
},
"root": {
"inputs": {
"ags": "ags",
···
"niri-flake": "niri-flake",
"nix-darwin": "nix-darwin",
"nix-index-database": "nix-index-database",
-
"nixpkgs": "nixpkgs"
+
"nix-vscode-extensions": "nix-vscode-extensions",
+
"nixpkgs": "nixpkgs_2"
}
},
"systems": {
···
"type": "github"
}
},
+
"systems_3": {
+
"locked": {
+
"lastModified": 1681028828,
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+
"owner": "nix-systems",
+
"repo": "default",
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nix-systems",
+
"repo": "default",
+
"type": "github"
+
}
+
},
"xwayland-satellite-stable": {
"flake": false,
"locked": {
···
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
-
"lastModified": 1741140299,
-
"narHash": "sha256-Y2bPO92Yg5HcH5ORvrVOQb4wRGEapGEteHXGtNvboxk=",
+
"lastModified": 1742671548,
+
"narHash": "sha256-nJK70IyhyOXth5Dcyv7DKtv95TTZkqcAYHVj4Uq2Blw=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
-
"rev": "10cb041a80bb815cc1789cfa305923f1f9e3713d",
+
"rev": "0fa13c6fb43ae26a597103989a42e44a03d2d827",
"type": "github"
},
"original": {
+1
flake.nix
···
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
# nur.url = "github:nix-community/NUR";
nix-darwin = {
+1
home/programs/browser.nix
···
{id = "immpkjjlgappgfkkfieppnmlhakdmaab";} # Imagus (TODO: find alternative?)
{id = "nhdogjmejiglipccpnnnanhbledajbpd";} # Vue devtools
{id = "nkgllhigpcljnhoakjkgaieabnkmgdkb";} # Don't Fuck With Paste
+
{id = "kgcjekpmcjjogibpjebkhaanilehneje";} # hoarder.app
];
};
}
+1
home/programs/fish.nix
···
'';
shellAbbrs = {
+
code = "codium";
ga = "git add";
gaa = "git add -A";
gc = {
+82 -2
home/programs/vscode.nix
···
{
-
home.sessionVariables.EDITOR = "code --wait";
+
inputs,
+
pkgs,
+
...
+
}: {
+
home.sessionVariables.EDITOR = "codium --wait";
programs.vscode = {
enable = true;
+
mutableExtensionsDir = false;
+
package = pkgs.vscodium;
+
profiles.default = {
enableUpdateCheck = false;
-
# TODO: move formatter to a central place
+
enableExtensionUpdateCheck = false;
+
+
extensions = let
+
vscode-extensions = inputs.nix-vscode-extensions.extensions.${pkgs.system};
+
inherit (vscode-extensions) open-vsx vscode-marketplace;
+
in
+
with open-vsx; [
+
kamadorueda.alejandra
+
astro-build.astro-vscode
+
matthewpi.caddyfile-support
+
raidou.calc
+
artlaman.chalice-icon-theme # TODO: i should fork this to add support for some newer files (tbd)
+
adpyke.codesnap
+
clinyong.vscode-css-modules
+
mkhl.direnv
+
leonardssh.vscord
+
ms-azuretools.vscode-docker
+
editorconfig.editorconfig
+
irongeek.vscode-env
+
pgourlain.erlang
+
usernamehw.errorlens
+
dbaeumer.vscode-eslint
+
tamasfe.even-better-toml
+
sleistner.vscode-fileutils
+
bmalehorn.vscode-fish
+
github.vscode-github-actions
+
eamodio.gitlens
+
# TODO: terraform (use opentofu instead)
+
ms-vscode.hexeditor
+
lokalise.i18n-ally
+
kisstkondoros.vscode-gutter-preview
+
ms-python.isort
+
bierner.markdown-preview-github-styles
+
unifiedjs.vscode-mdx
+
jnoortheen.nix-ide
+
nuxtr.nuxtr-vscode
+
vunguyentuan.vscode-postcss
+
esbenp.prettier-vscode
+
prisma.prisma
+
# TODO: use jedi instead of pylance
+
ms-python.python
+
ms-python.debugpy
+
mechatroner.rainbow-csv
+
medo64.render-crlf
+
stkb.rewrap
+
rust-lang.rust-analyzer
+
mrmlnc.vscode-scss
+
svelte.svelte-vscode
+
jock.svg
+
coolbear.systemd-unit-file
+
bradlc.vscode-tailwindcss
+
myriad-dreamin.tinymist
+
gruntfuggly.todo-tree
+
tomoki1207.pdf
+
zxh404.vscode-proto3
+
styled-components.vscode-styled-components # TODO: don't really need this
+
vue.volar
+
wakatime.vscode-wakatime
+
redhat.vscode-yaml
+
arcanis.vscode-zipfs
+
vscode-marketplace.wraith13.background-phi-colors
+
vscode-marketplace.be5invis.theme-dolch
+
vscode-marketplace.fabiospampinato.vscode-diff
+
vscode-marketplace.jakebecker.elixir-ls
+
vscode-marketplace.zh9528.file-size
+
vscode-marketplace.vladdesv.vscode-klog
+
vscode-marketplace.dt.ghlink
+
vscode-marketplace.tyriar.lorem-ipsum
+
vscode-marketplace.phoenixframework.phoenix
+
vscode-marketplace.frigus02.vscode-sql-tagged-template-literals-syntax-only # TODO: alternative?
+
];
+
userSettings = {
# Formatters
"editor.defaultFormatter" = "esbenp.prettier-vscode";
···
"window.titleBarStyle" = "custom";
"files.simpleDialog.enable" = true;
"window.dialogStyle" = "custom";
+
+
# Fuck off
};
};
};