{"id":16935363,"url":"https://github.com/dsander/nix-config","last_synced_at":"2026-05-10T00:34:09.040Z","repository":{"id":222027614,"uuid":"751113017","full_name":"dsander/nix-config","owner":"dsander","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-10T22:38:17.000Z","size":931,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-10T23:29:30.878Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dsander.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-01T00:25:38.000Z","updated_at":"2025-03-10T22:38:22.000Z","dependencies_parsed_at":"2024-03-02T11:24:43.229Z","dependency_job_id":"53e611be-509e-469e-b556-2920f1571977","html_url":"https://github.com/dsander/nix-config","commit_stats":null,"previous_names":["dsander/nix-config"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsander%2Fnix-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsander%2Fnix-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsander%2Fnix-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsander%2Fnix-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsander","download_url":"https://codeload.github.com/dsander/nix-config/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244736086,"owners_count":20501411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T20:54:21.001Z","updated_at":"2026-05-10T00:34:09.032Z","avatar_url":"https://github.com/dsander.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nix-macos-testing\n\n\n## Testing flake on a ubuntu VM\n\n```\n# Manually edit the config file and make the home directroy writable\nlimactl create --mount-type 9p --arch=x86_64 template://ubuntu-lts\nlimactl shell ubuntu-lts\nsudo apt-get install -y make\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install --extra-conf \"warn-dirty = false\"\n. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh\nmake\n```\n\n## Getting started on a Linux Desktop\n\nCreate a btrfs subvole for nix if applicable:\n\n```\nsudo btrfs subvolume create /nix\n```\n\nInstall nix\n```\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install\n\n# Depending on the shell\n. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.fish\n. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh\n\n# Potentially modify the flake.nix and add the system\nmake\n\n# Clear out the firefox profile (assuming we used it to download the repo)\nrm -rf ~/.mozilla/firefox/\n\n# Log out and back in to make nix work\n\n# Run ansible playbook\nmake ansible_reqs\nmake ansible\n\n# Start Firefox and select the default profile\nfirefox -ProfileManager\n```\n\nCopy over things that are not synced:\n\n```\nrsync --delete -av ~/Library/Thunderbird/ 192.168.1.180:./.thunderbird/\n```\n\n## Getting started on a new Mac\n\nGive full disk access to Terminal.\n\nInstall homebrew\n```\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\nInstall nix\n```\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install\n```\n\n\nClone the repo\n\n```\ngit clone https://github.com/dsander/nix-testing\ncd nix-testing\neval \"$(/opt/homebrew/bin/brew shellenv)\"\nmake\n```\n\nClean the dock\n\n```\ndefaults write com.apple.dock persistent-apps -array \u0026\u0026 killall Dock\n```\n\nSync Thunderbird Profile\n\n```\nrsync -av --progress  --delete ~/Library/Thunderbird/ thorax.local:Library/Thunderbird/\n```\n\nSublime\n```\nrsync -av --progress --delete  ~/Library/Application\\ Support/Sublime\\ Text/ thorax.local:\"Library/Application\\ Support/Sublime\\ Text/\"\n```\nThen delete Package (but User) and installed packages https://packagecontrol.io/docs/syncing\n\niTerm\n\nTo apply go to `Settings` -\u003e `General` -\u003e `Preferences` and load from\n`/Users/dominik/.config/iterm2`\n\nImport uBlock filters from `data/ublock-static-filters.txt`\n\nImport Tampermonkey scripts from Google Drive\n\n## Nix being nix\n\nLooks like nobody uses it like this, we have home-manager and still use asdf to manage node and ruby\nversion. This does not really work with how Nix installs neovim and the nodejs integration. `vim\n$(which nvim)` does wrap the binary and adjusts the PATH but appends the nodejs path, this causes\nnvim to fail if there is a non working `node` binary anywhere \"before\" the nix store node path ...\n`node_host_prog` does NOT overwrite the node path, it only is some sort of binary neovim still tries\nto execute node, this fails if asdf is installed but no global node binary is configured ...\n\nSoo just do `asdf global nodejs 20.11.1` and be done with it, very \"immutable\" ... maybe we can\nsomehow manually prepend the nixpgs node path in the neovim config?\n\nWhy does this suffix and not postfix the nix store path?!? https://github.com/NixOS/nixpkgs/blob/5eeded8e3518579daa13887297efa79f5be74b41/pkgs/applications/editors/neovim/utils.nix#L98\n\nMore context:\nhome-manager extraPackages for neovim used to use `prefix` in `extraMakeWrapperArgs` but switched to\n`suffix` as similar to how the neovim package does it. The reasoning is to make it work similar to\ndirenv and other tools that switch the underlying PATH when vim is used more like an IDE. We do not\nneed it at the moment but could become an issue if we used it more like this.\nhttps://www.github.com/nix-community/home-manager/pull/1756#issuecomment-770442362\nhttps://www.github.com/nix-community/home-manager/issues/4330\n\nMaybe we could wrap neovim in a flake or manually add things to `extraMakeWrapperArgs` unsure if\nthat is worth it though.\n\n## Proxmox NixOS research / resources\n\nAs per usual there isn't a working guide out there, what we want to do\n\n* Auto deploy new LXC/VMs based on Nix\n* Update their configuration\n* Maybe / potentially tie this into our existing Ansible repository because there will always be non\n  nix systems\n\n### Getting an LXC working (ish)\n\nnixos-rebuild switch doesn't work\nhttps://hydra.nixos.org/job/nixos/trunk-combined/nixos.proxmoxLXC.x86_64-linux#tabs-status\nhttps://nixos.wiki/wiki/Proxmox_Virtual_Environment\nhttps://mtlynch.io/notes/nixos-proxmox/\nMaybe with this?\nhttps://hydra.nixos.org/job/nixos/release-23.11/nixos.proxmoxLXC.x86_64-linux\nhttps://discourse.nixos.org/t/proxmox-lxc-systemd-networkd-container-image/38586/2\nSame error:\n```\nWARNING: /boot being on a different filesystem not supported by init-script-builder.sh\n'/nix/store/88rz72frvbwlps025d6jxwmgih9d459z-system-path/bin/busctl --json=short call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager ListUnitsByPatterns asas 0 0' exited with value 1 at /nix/store/cm6cf6b6k2sbny490k5h92snnv4my947-nixos-system-unnamed-23.11.4195.809cca784b9f/bin/switch-to-configuration line 145.\nwarning: error(s) occurred while switching to the new configuration\n```\nOutdated?\nhttps://discourse.nixos.org/t/how-to-generate-a-nixos-tarball-lxc-template-with-all-dependencies-not-just-runtime/25444\n\n\n\n### Links\n\nhttps://github.com/NixOS/nixpkgs/blob/master/nixos/release.nix\n\nhttps://github.com/search?q=proxmoxLXC+language%3ANix\u0026type=code\u0026l=Nix\u0026p=1\nhttps://github.com/lpchaim/homelab/blob/main/terraform-nix/flake.nix\nhttps://github.com/otakulan/infrastructure/blob/e599fed10c62bb219cae4b7041f9669fd5675b3f/otakudc/hardware.nix#L8\nhttps://github.com/gensokyo-zone/infrastructure/blob/a0ae2325d69fe3d37b8fc6738a4b39298a36a4c2/systems/reimu/nixos.nix#L18\nhttps://github.com/abehidek/nix-config/blob/3005bf870ad5730e2253233f548df2e0b1d01226/systems/portainer/default.nix#L9\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsander%2Fnix-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsander%2Fnix-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsander%2Fnix-config/lists"}