Skip to content

auroraanna/home-manager-config

Repository files navigation

papojari's Home Manager configuration

Badge: nixpkgs | stable

built with Nix

This repository contains my Home Manager configuration files. Because Home Manager is available for several *nix OSs like Linux or macOS you are able to use this config these OSs.


Screenshot

Stuff used

Programs

Type of program Type of programs used
Shell Zsh
Wayland compositor sway
Status bar Waybar
Application launcher dmenu
Terminal emulator Kitty
Text editor VSCodium, Kakoune
Web browser Brave, Firefox

Fonts

  • Roboto
  • Font Awesome
  • Iosevka (Nerdfont)

Getting started

Install Home Manager.

Clone this repository to somewhere, for example: your home directory, like this

git clone https://codeberg.org/papojari/home-manager-config.git

Then apply the config with this command:

./manage.sh --apply

Backgrounds

Highway to shell

Highway to shell backgrounds

This is the default wallpaper. You just need to build the Home Manager configuration to look at it in sway.

3d NixOS

3d NixOS background

  • to use, uncomment the first $Background line and comment the next line in users/default/sway/config. The default resolution is 2560 by 1440. If this does not match your resolution you should comment the current resolution in users/default/sway/default.nix and uncomment your desired resolution. Then rebuild with
./manage.sh --apply-users

Sway

Before you starting to use sway you'll have to adjust the config to you monitor setup. To list your monitors run

swaymsg -t get_outputs

and then adjust the identifiers like DP-1 or HDMI-A-1, resolutions and positions in users/default/sway/default.nix in the wayland.windowManager.sway.config.output section. Then rebuild with

./manage.sh --apply-users

You can just start sway with sway in a tty. Alternatively start sway from a display manager. In my experience, despite what the wiki says, gdm works. Don't use gdm though. It breaks gvfs.

How to hide your secrets in this repository

If you want to fork this repository and configure it to your liking you may want to put secrets in some files. I've put mine in .secrets. This folder is useless to you since it is encrypted.

The next to sub headings describe 2 ways in which you can encrypt your .secrets. git-crypt is more convenient. But first, follow the next steps.

  1. rm .secrets .git-crypt
  2. Put your secrets in .secrets.

  3. If there are nix files in .secrets you may want to import them in the other nix files.

via git-crypt

git-crypt init

via age

Before doing commits with git you should run

./manage.sh --lock

to encrypt the secrets with a password. Otherwise your secrets won't be secrets anymore so be careful, if your secrets are included in the commit. Put that password in a password manager like Bitwarden. You'll need it to unencrypt your secrets with

./manage.sh --unlock

as you might've guessed by now.

Licenses

View this repository's licenses

Credits

Thanks Wil Taylor for teaching me nix flakes and git crypt in your awesome tutorial series!