This repository contains my working environment config. It consists of:
nixos/
, home-manager/
& shared/
) dotfiles/
)It thoroughly defines every single tweak that I've made to any program that's running on my machine.
The whole OS is centered around Catppuccin Mocha Mauve theme. Lots of applications are configured to match this color pallete, some examples include:
Other than that, this config is also integrated with catppuccin/nix; which regularly adds support for more apps.
Checkout dotfiles/.config/nvim/README.md
. It covers those topics:
For every detail, see home-manager/modules/packages/shell
.
TL;DR: you can accept autosuggestions using 'a
, and exit insert mode with 'j
.
If you have more questions, feel free to reach out to me!
Every previously mentioned module (nixos/
, home-manager/
, shared/
, dotfiles/
) has it's own docs placed in <module_name>/README.md
. If you're going to read them, the recommended order is:
If you're not familiar with Nix, checkout this page; in short, NixOS is a opinionated Linux distro which focuses on reproducibility. Nix is both a package manager, and a programming language at the same time.
You can setup this configuration in many different ways.
install.sh
)I have written a minimal script for linking the dotfiles and switching to the NixOS configuration:
$ curl https://raw.githubusercontent.com/Khenziii/nixos-config/master/install.sh > install.sh && sudo chmod +x install.sh && sudo ./install.sh && rm -f install.sh
[!TIP] Running this script, requires having
git
andstow
installed. If you're on NixOS, you can temporarily enter a shell session with them available using this command:$ nix-shell -p git stow
[!TIP] By default, the script shows a warning requesting the user to make sure that they want to proceed at startup. To override it, you can pass
y
as the first parameter when calling the script:$ curl https://raw.githubusercontent.com/Khenziii/nixos-config/master/install.sh > install.sh && sudo chmod +x install.sh && sudo ./install.sh y && rm -f install.sh
[!CAUTION]
curl
'ing a file like this and executing it as root without necessary attention is extremely dangerous.make sure to read the content of this script before running it!!! https://raw.githubusercontent.com/Khenziii/nixos-config/master/install.sh
If you don't want to run a random script originating from a random github repo (which is totally understandable, I'd be cautious too), you can execute the commands yourself:
$ git clone https://github.com/Khenziii/nixos-config
$ cd nixos-config
$ stow --no-folding --adopt -t ~ dotfiles
$ touch ~/.config/hypr/monitors.conf
$ touch ~/.config/hypr/workspaces.conf
$ sudo nixos-generate-config
$ sudo nixos-rebuild switch --flake ".#iusenixosbtw" --impure
$ home-manager switch --flake ".#khenzii"
monitors.conf
and workspaces.conf
are both files created by nwg-displays
(output configuration utility). They're imported from hyprland.conf
, so we create empty placeholders to avoid errors.
Remember, there's nothing stopping you from using the code however you like to! It's licensed under GPL-3.0
. If you want to, you can use only the dotfiles like this:
$ git clone https://github.com/Khenziii/nixos-config
$ cd nixos-config
$ stow --no-folding --adopt -t ~ dotfiles
$ touch ~/.config/hypr/monitors.conf
$ touch ~/.config/hypr/workspaces.conf
The choice is up to you!