home
home copied to clipboard
Configurations
#+title: how to use this repo #+author: teto #+NAME: demo
- home
This folder contains my customizations for:
- [[https://github.com/pazz/alot][alot]] (MUA: Mail User Agent, like mutt)
- [[https://github.com/astroidmail/astroid][astroid]] (MUA with a GUI)
- bash
- broot file explorer
- [[https://github.com/jarun/Buku][buku]]: a cli bookmark manager
- clerk (to control mpd via rofi)
- font handling font-manager
- fcitx5 (input method mechanims)
- [[https://github.com/rycee/home-manager/][home-manager]]
- htop
- [[www.i3wm.org][i3]], a great if not the best tiling window manager)
- [[https://github.com/Alexays/Waybar][waybar]] sway bar
- [[https://github.com/pimutils/khard][khard]] (a carddav CLI)
- [[https://github.com/pimutils/khal][khal]] (a calendar CLI)
- mpd (configuration files to run this music server as a user)
- [[https://marlam.de/msmtp/news][msmtp]] (MSA: Mail Sending Agent)
- [[https://neomutt.org][neomutt]] (Mail User Agent)
- ncmpcpp (mpd console player)
- [[https://github.com/neovim/neovim][neovim]] (fork of vim)
- [[https://newsboat.org/][newboat]] (RSS reader, fork of newsbeuter)
- [[www.notmuch.org][notmuch]] (to tag mails)
- [[https://github.com/purebred-mua/purebred][purebred]] (terminal MUA)
- [[qutebrowser][www.qutebrowser.org]] (vim like browser)
- [[https://github.com/DaveDavenport/rofi][rofi]] (a dmenu-like interactive prompt, works with clerk/i3 etc...)
- [[https://starship.rs/][starship]] (prompt manager)
- sxiv (image viewer)
- [[www.swaywm.com][sway]] (wayland window manager)
- [[https://sw.kovidgoyal.net/kitty/][kitty]] (a modal terminal)
- [[https://github.com/jonas/tig][tig]] (a git history reader)
- tmux (terminal multiplexer)
- [[https://github.com/tio/tio][tio]] a serial device tool
- [[https://vifm.info/][vifm]] (ranger-like, file explorer)
- [[https://github.com/vimus/vimus][vimus]] (or vimpc ? mpd player)
- [[https://www.visidata.org/][visidata]] (for data analysis, csv/json/pcap/... reader)
- [[https://weechat.org/][weechat]] (Irc client)
- [[https://github.com/sxyazi/yazi][yazi]] a terminal file manager like ranger or joshuto, just super fast
- zsh (alternative to bash)
- nixos Install via flakes
As long as flakes are not supported natively, you need to #+BEGIN_SRC shell
when not setting #my-machine, defaults to hostname
nixos-rebuild switch --flake 'github:teto/home#laptop' --use-remote-sudo --option accept-flake-config true --option extra-experimental-features 'nix-command flakes repl-flake' #+END_SRC
- How to transfer state
Some secrets can't be shared reliably on the repository so they need to be transferred.
** How to transfer secrets from another machine
- age key for sops
- git crypt key to decypher secrets saved in the repo
On the old machine: #+BEGIN_SRC $ nix shell nixpkgs#magic-wormhole-rs $ wormhole send ~/.gnupg $ wormhole send ~/.password-store $ wormhole send ~/.ssh $ wormhole send ~/home/secrets #+END_SRC
On the new machine: #+BEGIN_SRC $ wormhole receive RENDEZVOUSPHRASE tar xvf -C ~/.gnupg/ gnupg.tar ... #+END_SRC
** How to recover this repo cyphered files
Get git-crypt do decypher the files
Retreive the key (possibly from an existing deployement via git-crypt export-key toto.key
) and use
it on the new deployement via:
#+BEGIN_SRC sh
$ git-crypt unlock secrets/git-crypt-teto.key
#+END_SRC
should unlock the files.
NOTE: nixos doesnt seem to work out of the box with git-crypt [[https://github.com/NixOS/nix/issues/5260][anymore]], the secret is to leave your repo in a dirty state so that nix sees the unlocked secrets.nix !
- Debug neovim config ?
You can see the resulting config via:
#+BEGIN_SRC nix repl . --override-input nixpkgs github:nixos/nixpkgs nixosConfigurations.laptop.config.home-manager.users.teto.programs.neovim.finalPackage.XXX #+END_SRC