pocka/system
My systems configuration using Nix/Home Manager.

Usage
See outputs.homeConfigurations section in flake.nix for available <name>s.
Local install
- Clone or Download the repository
- Run
nix-shell - Inside the spawned shell, run
home-manager switch --flake .#<name> - Exit the shell
Without interactive Bash session: nix-shell --run "home-manager switch --flake .#<name>".
Remote install
This is handy and useful especially for initial bootstrap, but less reproducible compared to local installation.
- Make sure Flakes is available on your system
- Run
nix run home-manager/master -- switch --flake github:pocka/system#<name>
Display changes between Home Manager generations
First, find the directory that contains Nix profiles. For defaults location, see this page: https://nix.dev/manual/nix/2.18/command-ref/files/profiles.
Then, run nix profile diff-closures --profile <profiles directory>/home-manager.
Requirements
dev-linux
Due to each softwares’ design limitation, the system needs to have these packages.
- niri
pantheon-polkit-agent… The one installed installed using Nix cannot lookuppolkit-agent-helper-1.- swaylock … access to PAM required, which is not possible with regular user Nix installation.
A custom Swaybar module assumes Markdown file placed at $XDG_DATA_HOME/todo.md.
Create a symbolic link or normal file there (module tries to read in 10s interval if the file does not exist.)
Programs
hm-clean
hm-clean removes obsolete Home Manager generations.
# Clean obsolete home-manager generations.
hm-clean
# with verbose logging.
hm-clean --verbose
License
This project is compliant with REUSE specification.
Commentable files have copyright and license header and uncommentable files (e.g. binary, JSON) have an adjacent text file named <filename>.license.
- Files under
programs/are licensed under Apache-2.0. - Media files are licensed under CC BY-ND 4.0.
- Files under
vendor/are licensed differently: see each files’ license header or adjacent.licensefile. - Other files, including Nix config files, are licensed under Zero-Clause BSD.