Repo for nix configuration files
desktops | ||
home-manager | ||
hosts | ||
keys | ||
modules | ||
secrets | ||
services | ||
software | ||
users | ||
.sops.yaml | ||
configuration.nix | ||
flake.lock | ||
flake.nix | ||
README.md | ||
shell.nix |
NixOS Configuration Repository
NOTE: These configs expect this repo to be cloned to /etc/nixos/git/
Repo for nix configuration files
To Do List
- btrfs snapshots
- regreet config / theming - Icons still broken for some reason
- Possibly switch to tuigreet and gruv it
- mako config / theming
- waybar config / theming
- hyprland config / theming
- Try
libinput-gestures
for gesture control of Hyprland - Link
- Try
- powerline config / theming
- neofetch config / theming
- kitty config / theming
- weechat / weechat-matrix
- rofi config / theming
- nvidia drivers
- WINE configurations
- btop config / theming
- swaylock config / theming
- vscodium and user-config.js file?
- Get function keys working (sound, brightness, etc)
- rofi - bitwarden-cli / bitwarden-menu (Link)
- Try and submit this as a nixpkg - Link
- Possibly move away from powerline-go - I want something simpler
- Staying with powerline-go, just editing the config in
home-manager/bash.nix
- Staying with powerline-go, just editing the config in
- Set up the fingerprint reader - Link
- sublime music config / theming / integration - Link
- hyprland
- Try hyprctl
- hyprbars - Link
- libinput-gestures?
- configure programs.light - keybinds in hyprland config
- authentication agent (like polkit-kde-agent)
Information
Home Manager
NixOS
- NixOS Documentation - Stable - Link
- NixOS Packages / Options Search - Link
- Nix User Repository (NUR) Search - Link
Examples / Useful Links
Theming
Theming
- To change system-wide themes, you need to change the following:
gnome
desktops/gnome.nix
- Change the imports at the bottom.users/albert/gnome-dconf.nix
- Change the theme variants in the following:org/gnome/shell/extensions/nightthemeswitcher/gtk-variants
org/gnome/shell/extensions/nightthemeswitcher/icon-variants
org/gnome/shell/extensions/nightthemeswitcher/shell-variants
neovim
home-manager/neovim.nix
- Change the following:plugins = with pkgs.vimPlugins
- Add your theme under "Themes"extraConfig
- Change thecolorscheme
andAirlineTheme
sections
hyprland / waybar
- WIP
kitty
home-manager/kitty.nix
- Update the content ofhome.file.".config/kitty/theme.conf".text
Firefox
home-manager/firefox.nix
- Change the entry under "# Theming"
btop
home-manager/btop.nix
- Setcolor_theme
bash / powerline
home-manager/bash.nix
- Settheme
inprograms.powerline-go.settings
neofetch
home-manager/neofetch.nix
- Update the contents ofhome.file.".config/neofetch/config.conf".text
GPG Keys
- Import the user private key:
gpg import gpg/users/albert/privkey.asc
- Mark it as trusted:
gpg --edit-key albert@sysctl.io
, then typetrust
, then5
- On each new machine, run
nix-shell -p ssh-to-pgp --run "ssh-to-pgp -i /etc/ssh/ssh_host_rsa_key -o HOSTNAME.asc"
- This will output the identifier you add to
.sops.yaml
- Move
HOSTNAME.asc
tokeys/hosts/
and upload to git and rename accordingly.
- This will output the identifier you add to
Secrets
- To edit a file: cd to
/path/to/nix-files/
and run:nix-shell -p sops --run "sops secrets/secret_file.yml"
- New shell alias:
sops secrets/secret_file.yml
- When you add a new machine, you must update the secrets files encryption.
- Run
sops-update secrets/secrets.yaml
and commit the change.
- Run
Lanzaboote / SecureBoot
- Instructions here - Link
- Create your keys:
sbctl create-keys
- Verify your machine is ready for SecureBoot:
sbctl verify
- Everything except*-bzImage.efi
are signed - Enter Secureboot Setup mode in your EFI Settings on the motherboard (F10)
- Security -> SecureBoot -> Set to Enabled and "Reset to Setup Mode" and exit
- Enroll the keys:
sbctl enroll-keys --microsoft
- If you wish, you acan select --tpm-eventlog, but checksums will change later (ie, at a kernel rebuild)
- Reboot and verify you are activated:
bootctl status
Other
- Try this - https://yewtu.be/watch?v=61wGzIv12Ds&local=true
- gruvbox-factory - https://github.com/paulopacitti/gruvbox-factory
- https://github.com/Chick2D/neofetch-themes/
- https://github.com/0bCdian/Hyprland_dotfiles/blob/main/mako/config
- https://github.com/0bCdian/Hyprland_dotfiles/blob/gruvboxy/neofetch/config.conf
- https://man.sr.ht/~kennylevinsen/greetd/