The old Arch configuration at Arch branch.
Recently I also replace my ags configuration with some standalone package (you can see detail on below), But I think the old ags configuration still valuable So you can visit it in ags-v1.
I don't want to spend too much time on writing about my desktop environment components, I do most of my work in the command line and prioritize practicality, so I want to keep my compositor desktop minimalist.
For a lone time I'm seeking for a solution to manage my OS configurations, The Arch branch is a way that I manage my home configurations, but that's not enough, NixOS provided capability to manage system wide configurations, or even more, now this repo manage my laptop, WSL, and nix-on-droid configurations together (but nix-on-droid configurations are not work well now)
Repo's structure base on nix-starter-config#standard, is a good start point for leaning NixOS, but you should be careful to using unstable and stable nixpkgs together, e.g. if you want to stay at stable nixpkgs branch but using unstable Hyprland, it will broken because of the mesa package version are not equal.
-
Editor: a well configured nvim (tested startup time are less than 30ms) that follows the KISS principle
you can try it and find more detail in my mono nvim configuration repo wenvim, I'm using home-manager with
mkOutOfStoreSymlink
to symlink my nvim configurations directory, that's maybe not the nix way, but since I modify it very frequently and I store my custom snippets and spell file together with it, I don't want to compile it everytime I modified this, also I can easier to share my code with someone that not using NixOS. -
Compositor: Hyprland
-
Topbar: waybar
-
Notification daemon: dunst
-
Launcher: rofi (wayland-fork) with some script to let it provide the ability to manage various system functions, some of them maintained by myself:
- cliphist-rofi-img for clipboard manage
- rofi-screenshot-wayland a fork of rofi-screenshot
- rofi-power-menu
- rofi-systemd for control systemd unit
- rofi-bluetooth with scan ability fixed PR.
- rofi-pass-wayland as pass frontend.
- rofi-pulse-select
- rofimoji for emoji and unicode selection
- rofi-network-manager
-
Terminal emulator: foot
-
Wallpaper: hyprpaper and some small script, wallpaper-switch , and bingwallpaper-get for download daily bingwallpaper and switch to it immediately.
-
Style manage: stylix (that's awesome!)
-
Mail client: neomutt
Note
You can not use this repo directly for I'm using sops-nix to manage my secrets in some modules, you won't pass the compile, but I still give a short guide to install this to remind you and myself.
Even you remove all the modules that using sops secrets, the other parts still has many custom settings that may not suitable for you machine, use it directly maybe damage your system.
Please always check the code before you use it.
For NixOS users:
-
This repo should be placed at
$HOME/.dotfiles
for I'm defined a immutable value and refer it in some home-manager modules. -
Replace hardware-configuration.nix with your own, and change the username variable to yours
-
You also need to remove this hardware setting or replace it with your hardware model
-
Other modules that using sops secrets should be removed.
-
Navigate to repo root then execute following command in repo root:
$ sudo nixos-rebuild switch --flake .#nixos
$ home-manager switch --flake .#wenjin@nixos
- If your machine's
$HOSTNAME
and$USER
variables as same as that variables innixosConfigurations
andhomeConfigurations
, there's also a Makefile for simplified command:
$ make # build system and home
$ make system # build system
$ make home # build home