Skip to content

InioX/dotfiles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

470 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

NIXOS DOTFILES

My nixos dotfiles with Home Manager

Showcase

Dark Mode Light Mode Dynamic Theming

Warning

The showcase may be outdated and look differently.

Description

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.

Installation

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)

Usage

Adding new hosts

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.

  1. Make a folder inside hosts/
mkdir hosts/<hostName>
  1. Get a hardware.nix file and copy it into hosts/
nixos-generate-config && cp /etc/nixos/hardware-configuration.nix /hosts/<hostName>/hardware.nix
  1. To get a default.nix file, 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.

  1. After you have a default.nix file, move it into hosts/<hostName>/default.nix

  2. 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 = {
    # ...
  };
}

Issues

Broken bootloader after dual booting Windows or updating BIOS

  1. 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
  1. Move /mnt/boot/EFI/Microsoft to /mnt/boot/EFI/Microsoft.bak
sudo mv /mnt/boot/EFI/Microsoft /mnt/boot/EFI/Microsoft.bak
  1. Reboot

  2. Everything should work now, except you can't choose Windows from the Bootloader

  3. Repeat step 1.

  4. Move /mnt/boot/EFI/Microsoft.bak back to the original position of /mnt/boot/EFI/Microsoft

sudo mv /mnt/boot/EFI/Microsoft /mnt/boot/EFI/Microsoft.bak
  1. Reboot

  2. Everything should work again as intended

Acknowledgements

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.

sioodmyNobbZgingkapls