docs: document desktop setup and Home Manager installation

This commit is contained in:
hhhh hgfh 2026-10-05 00:37:53 +03:00
parent 07f806604f
commit 9075b92e63

View file

@ -31,7 +31,10 @@ sanitizer-assisted test runs, `perf`, FlameGraph, and systemd user scopes.
├── atuin/ # Atuin configuration ├── atuin/ # Atuin configuration
├── gitui/ # GitUI key bindings ├── gitui/ # GitUI key bindings
├── kitty/ # Kitty settings and color themes ├── kitty/ # Kitty settings and color themes
├── mako/ # Notification settings
├── nvim/ # Neovim configuration and plugin lockfile ├── nvim/ # Neovim configuration and plugin lockfile
├── waybar/ # Compact Hyprland status bar and power menu
├── wofi/ # Application launcher with icons
└── wallpapers/ # Desktop wallpapers └── wallpapers/ # Desktop wallpapers
``` ```
@ -86,11 +89,58 @@ Before using this configuration on another machine, regenerate or replace
`nixos/hosts/nixos/hardware-configuration.nix` and adjust the host name, `nixos/hosts/nixos/hardware-configuration.nix` and adjust the host name,
user, graphics driver, and `system.stateVersion` as appropriate. user, graphics driver, and `system.stateVersion` as appropriate.
## Screen locking
The initial SDDM login screen uses a matching Qt 6 theme in `sddm/`, packaged
by `nixos/modules/login-theme.nix`. Its assets and ProFont are included in
the theme package so they are available before a user session starts.
It supports username/password entry, desktop session selection, and power
actions. Apply with `nixos-rebuild switch`; the theme appears at the next
login. Avoid restarting the display manager during an active session.
Hyprlock uses `hypr/hyprlock.conf` and the existing wallpaper assets for a
blurred, two-column lock screen with ProFont, a clock, and live system status.
Press `Super+L` or choose **Lock** in the Waybar power menu. Hypridle handles
session lock requests and locks before suspend; no idle timeout is configured.
The NixOS Hyprlock module supplies its PAM authentication configuration.
## Home Manager
Home Manager is integrated into the NixOS flake and uses the same pinned
Nixpkgs input. The user configuration lives in `nixos/home/hhhh.nix`.
It manages `atuin`, `gitui`, `hypr`, `kitty`, `mako`, `nvim`, `waybar`, and
`wofi` under `~/.config`.
These directories link to `~/Git/Custom-environment` through
`mkOutOfStoreSymlink`, so edits in the repository are available immediately.
Reload or restart the affected application to pick up configuration changes.
Keep the repository at this location, or adjust `repo` in the user module.
Apply Home Manager changes together with the system configuration:
```bash
sudo nixos-rebuild switch --flake .#nixos
```
On activation, conflicting configuration files or links are backed up with
the `.hm-backup` suffix; links already pointing to the same content can be
adopted without a backup. Existing backups are preserved; move an old
backup aside if it blocks activation. Keep `home.stateVersion` at the version
used when first enabling Home Manager.
## Installation ## Installation
Clone the repository, install the tools listed above using your system package On NixOS, clone the repository into the location expected by Home Manager,
manager, and link the configuration files into their expected locations. For then apply the flake:
example:
```bash
git clone git@github.com:Claucdan/Custom-environment.git ~/Git/Custom-environment
cd ~/Git/Custom-environment
sudo nixos-rebuild switch --flake .#nixos
```
On other distributions, install the tools using your system package manager
and link the configuration directories manually:
```bash ```bash
git clone git@github.com:Claucdan/Custom-environment.git git clone git@github.com:Claucdan/Custom-environment.git
@ -98,8 +148,11 @@ cd Custom-environment
ln -sfn "$PWD/nvim" "$HOME/.config/nvim" ln -sfn "$PWD/nvim" "$HOME/.config/nvim"
ln -sfn "$PWD/kitty" "$HOME/.config/kitty" ln -sfn "$PWD/kitty" "$HOME/.config/kitty"
ln -sfn "$PWD/mako" "$HOME/.config/mako"
ln -sfn "$PWD/atuin" "$HOME/.config/atuin" ln -sfn "$PWD/atuin" "$HOME/.config/atuin"
ln -sfn "$PWD/gitui" "$HOME/.config/gitui" ln -sfn "$PWD/gitui" "$HOME/.config/gitui"
ln -sfn "$PWD/waybar" "$HOME/.config/waybar"
ln -sfn "$PWD/wofi" "$HOME/.config/wofi"
``` ```
Review `.bashrc` before sourcing or linking it: some aliases, paths, and helper Review `.bashrc` before sourcing or linking it: some aliases, paths, and helper