dotfiles
dotnix
dotfiles | dotnix | |
---|---|---|
1 | 5 | |
123 | 35 | |
- | - | |
8.1 | 5.4 | |
about 1 month ago | 7 months ago | |
Shell | Nix | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dotfiles
-
Ask HN: How do you sync your computers development configurations/environment?
I use a tool called rcm[0], which is essentially a set of shell scripts for managing symlinks from $HOME into $HOME/.dotfiles. $HOME/.dotfiles can then be a git repo.
Some notes:
1. rcm lets you decide make host-specific or host-agnostic dotfiles. For example, I can declare that I want a different `.ssh/config` file for each host, and rcm will figure out which `.ssh/config` to symlink based on the current machine's hostname.
2. The installation process is very simple. It's just shell scripts, so you don't have to have a compiler. Operating system packages exist for the common platforms, and there's also a convenient way to "build" from source using configure && make && make install. The from source option is particularly convenient if you need to change the installation prefix to a user-writable location on a multi-user machine.
3. I use SSH Agent Forwarding[1] to avoid needing to install private keys (either new keys or copies of existing keys) on all the hosts I manage. This lets me git push and pull to my dotfiles repo on all hosts.
4. Taking it a step further, some shell config I have is host-specific (e.g., certain PATH modifications I only want to apply on certain hosts). Rather than use the host-specific dotfile feature of rcm for the whole .bashrc, I factor my shell config files into multiple files, that I then source. One of these files is called `$HOME/.util/host.sh`, which is host specific. Again, rcm creates a symlink from this to the correct host-specific file automatically by hostname.
If you're curious to learn more about any of this, my dotfiles are public.[2]
[0] https://github.com/thoughtbot/rcm
[1] https://docs.github.com/en/developers/overview/using-ssh-age...
[2] https://github.com/jez/dotfiles
dotnix
-
Ask HN: How do you sync your computers development configurations/environment?
home-manager and nix: https://github.com/legendofmiracles/dotnix
This allows me to abstract logic easily, have it all modular and have everything be nix.
-
How do you ensure the longevity of your customized Linux setup
If you’re interested and want to see more, here’s my massive configuration.
-
Raspberry Pi config for all things Internet
https://github.com/LegendOfMiracles/dotnix/tree/master/hosts... (bottom lines describe the remote build logic) this is the actual config of the pi... One other file also gets sourced: the defaults-nixos file in the root of the repo. And the distributed build host nix file describes creating a build user on my main machine.
The setup is mostly mirrored from https://sgt.hootr.club/molten-matter/nix-distributed-builds/
-
Can I see what packages have been updated?
Config is somewhere in HM/fish.nix :p https://github.com/legendofmiracles/dotnix
-
How do you manage your private keys?
https://github.com/legendofmiracles/dotnix inside the secrets dir
What are some alternatives?
mackup - Keep your application settings in sync (OS X/Linux)
nixos-search - Search NixOS packages and options
syncthing-android - Wrapper of syncthing for Android.
agenix - age-encrypted secrets for NixOS and Home manager
dotfiles - btw i use arch
sops-nix - Atomic secret provisioning for NixOS based on sops
nix - Nix, the purely functional package manager
nvd
strap - 👢 Bootstrap your macOS development system.
vscode-in-docker - Run VSCode inside of a Docker Container
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
digga - A flake utility library to craft shell-, home-, and hosts- environments.