Flakes can be built with:
$ home-manager switch --flake <path>#<hostname>- example
$ home-manager switch --flake .#atlas
First of all, you will need to install nix on your OS
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --daemonafter that you will need to install nixGL and home manager
nix-env -iA home-manager nixGLthen clone this repository
git clone <repo> ~/.config/Home-managerand build the profile of your choice:
home-manager switch --flake ~/.config/home-manager/#<profile-name>Due to issue for nix to use the system underlying PAM libs, it's not possible to manage screenlocking package with nix & home manager, we can only manage the configuration So you have to install your favorite screen locker package, ensure it has enough PAM privileges, and call it into the config. As this step is distro specific, I won't give direction.
With SwayWM, screensharing seems to work fine with Slack/discord/browser, but I didn't manage to make hyprland desktop backend to successfully screen share with Slack (discord & teams works fine though)
.
├── commonPackages
├── desktop
│ ├── hyprland
│ └── sway
├── modules
│ └── home-manager
├── packages
├── profiles
│ └── XPS-15-9530
├── programs
│ ├── alacritty
│ ├── direnv
│ ├── fish
│ ├── fzf
│ ├── git
│ ├── jeezyvim
│ ├── kitty
│ ├── lazygit
│ ├── lsd
│ ├── nix-index
│ ├── rofi
│ ├── starship
│ ├── swaylock
│ ├── taskwarrior
│ ├── typst
│ ├── zathura
│ └── zoxide
└── services
├── podman
└── trackwarrior
commonPackagesdirectory that holds the packages common to all profilesdesktopholds all windows-manager related programs/services/configurationmodulescontain custom modules used across the dotfilespackagesa set of custom built packagesprofilesthe entrypoint of the config, directly called by theflake.nixfile, holds all user/hosts profiles home configurationprogramsthe configuration of all packages used across the profilesservicessome services used across the profiles