| Dark Mode | Light Mode | Dynamic Theming |
Warning
The showcase may be outdated and look differently.
Welcome to my dotfiles! My main goal was to have dynamic colors based on the wallpaper exactly like with Material Design 3.
The dotfiles/config folder is there for compability reasons for arch, some files are missing from the folder because theyre generated by Matugen from dotfiles/templates.
bash <(curl -s https://raw.githubusercontent.com/InioX/dotfiles/nixos/install.sh) <hostname>Also make sure to run
mkdir -p ~/.local/share/themes
curl -L https://github.com/lassekongo83/adw-gtk3/releases/download/v6.4/adw-gtk3v6.4.tar.xz | tar -xJ -C ~/.local/share/themes/
Tip
After you are done installing and you want to make any changes to the dotfiles, make sure you clone the repository into ~/dev/dotfiles
Configure flatpaks:
sudo flatpak override --filesystem=xdg-data/themes
sudo flatpak mask org.gtk.Gtk3theme.adw-gtk3
sudo flatpak mask org.gtk.Gtk3theme.adw-gtk3-dark
Install HyprLuna
code --install-extension HyprLuna.hyprluna-theme
Open AdwSteamGtk → Preferences → Custom CSS, make sure Custom CSS is enabled!
Install or update hdrop (already included in dotfiles)
Important
The name of the folder should be your hostname and it should be located in hosts/<hostName>. Every host folder should contain a default.nix file and hardware.nix.
- Make a folder inside
hosts/
mkdir hosts/<hostName>- Get a
hardware.nixfile and copy it intohosts/
nixos-generate-config && cp /etc/nixos/hardware-configuration.nix /hosts/<hostName>/hardware.nix- To get a
default.nixfile, you can modify this template.
# default.nix
{
config,
pkgs,
lib,
...
}:
with lib; {
imports = [./hardware.nix];
# Configure the bootloader
boot.loader = {
systemd-boot = {
enable = true;
configurationLimit = 5;
};
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
# Enable networking
networking.networkmanager.enable = true;
zenyte.presets = {
common = enabled;
development = enabled;
social = enabled;
};
zenyte.system.locale.timeZone = "Europe/Prague";
zenyte.system.defaultShell = pkgs.zsh;
zenyte.desktop = {
# xfce.enable = true;
# awesome.enable = true;
hyprland = enabled;
};
zenyte.browsers = {
brave = disabled;
chromium = disabled;
firefox = {
enable = true;
# Default extensions: `ublock-origin`, `plasma-integration`
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
bitwarden
];
};
};
# Anything else here... You can also use `zenyte.<option>` to configure stuff.
}Tip
You can find out most of the options for zenyte by looking here.
-
After you have a
default.nixfile, move it intohosts/<hostName>/default.nix -
Finally, add the folder name as the hostname into
flake.nix
# flake.nix
{
outputs = { nixpkgs, ... } @inputs:
let
# ...
in {
nixosConfigurations = {
# USAGE: addNewHost <hostname>
laptop = addNewHost "laptop";
};
};
inputs = {
# ...
};
}- Boot the live usb and mount partitions
Caution
The partition and drive names will not be the same for everyone
sudo mount /dev/nvme0n1p2 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot- Move
/mnt/boot/EFI/Microsoftto/mnt/boot/EFI/Microsoft.bak
sudo mv /mnt/boot/EFI/Microsoft /mnt/boot/EFI/Microsoft.bak-
Reboot
-
Everything should work now, except you can't choose Windows from the Bootloader
-
Repeat step
1. -
Move
/mnt/boot/EFI/Microsoft.bakback to the original position of/mnt/boot/EFI/Microsoft
sudo mv /mnt/boot/EFI/Microsoft /mnt/boot/EFI/Microsoft.bak-
Reboot
-
Everything should work again as intended
First, special thanks to jakehamilton, my config is heavily inspired by them.
I also want to thank all the people mentioned below, they either helped me solve issues or i copied from them.