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
1# `@andreijiroh-dev/dotfiles@nixos` - @ajhalili2006's dotfiles under nixos + nixpkgs!
2
3Yup, I'm starting a fresh for my dotfiles for 2025 and beyond, now with
4[nixpkgs](https://nixos.org) and [home-manager](https://nix-community.github.io/home-manager)
5in mind. Backwards-compatible with non-nixpkgs setups via `yadm`.
6
7## Usage
8
9### Plain dotfiles
10
11Make sure Git is installed in your non NixOS/nixpkgs setup for the setup to work.
12
13```bash
14cd ~
15git init
16git remote add origin https://mau.dev/andreijiroh-dev/dotfiles
17git checkout -f main
18ln -s ./.git ./.local/share/yadm/repo.git # so that we can use yadm later
19```
20
21If you prefer to cook up with `yadm` first:
22
23```bash
24yadm clone https://github.com/andreijiroh-dev/dotfiles
25ln -s ./.local/share/yadm/repo.git ./.git # so that we can normally use git here
26```
27
28### Using nix flakes + home-manager
29
30```bash
31# A quick home-manager switch should do the trick
32nix run home-manager/master -- switch --flake github:andreijiroh-dev/nixops-config
33
34# otherwise a quick copy paste configs should fix 'em if you use a different username
35# (not different home directory yet!)
36```
37
38#### Updating `authorized_keys` with Nix
39
401. Update [`shared/ssh-keys.nix`][ssh-keys] and `users.users.<gildedguy|ajhalili2006>.openssh.authorizedKeys.keys`
412. Run `nixos-rebuild switch` to regenerate `/etc/ssh/authorized_keys.d/<gildedguy|ajhalili2006>`.
423. Copy that file back to `.ssh/authorized_keys`. Commit changes and push.
434. On the affected machines, just `git pull` away.
44
45### Using 1Password SSH Agent integration
46
47> [!WARNING]
48> 1Password Desktop app must be installed and enabled `Use SSH Agent` in
49> **Settings** -> **Developer** -> **SSH Agent** after signing in.
50
51Note that this should work on most desktop apps, although if you're in Nest (and friends
52with RDP access), connect to there first and authenicate. You may need to adjust security
53settings in the desktop app to ensure nothing go wrong.
54
55Alternatively, you can export the private keys with password encryption
56
57## Directory + File Map
58
59### Essientials
60
61* [`.config/nixos`](./.config/nixos/) - my NixOS configuration as a flake, including system tools,
62usually in sync (TODO: Swap into Git module of <https://github.com/andreijiroh-dev/nixops-config> soon)
63* [`.config/home-manager`](./.config/home-manager/) - Home-manager configs, mostly CLI and desktop apps go here
64* [`bin`](./bin) - Shell scripts! (because Nix looks like Haskell to me)
65
66## Related repositories
67
68* [`@andreijiroh-dev/nixops-config`][nixops-config] - my NixOS + home-manager configs, with flake support (TODO: turn `.config/nixos` into submodule)
69* [`@andreijiroh-dev/infraops`][infraops] - the homelab config in pure Docker Compose insanity, alongside DNS records YAML files for octoDNS
70* [`@recaptime-dev/infra`][rtdev-infra] - @recaptime-dev's infra configurations and home for our Infra Issue Tracker
71* [`@recaptime-dev/infra-internals`][rtdev-infra-internals] - @recaptime-dev's infra configs for Portainer (the public repo version only have `stack.env` files removed via `git-filter-repo`)
72
73## License
74
75MPL-2.0
76
77[nixops-config]: https://github.com/andreijiroh-dev/nixops-config
78[infraops]: https://github.com/andreijiroh-dev/infraops
79[rtdev-infra]: https://github.com/recaptime-dev/infra
80[rtdev-infra-internals]: https://github.com/internal-recaptime-dev/infra-internals-public