# This is your home-manager configuration file # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) { inputs, lib, config, pkgs, ... }: { # You can import other home-manager modules here imports = [ ./neovim ]; nixpkgs = { # You can add overlays here overlays = [ # If you want to use overlays exported from other flakes: # neovim-nightly-overlay.overlays.default # Or define it inline, for example: # (final: prev: { # hi = final.hello.overrideAttrs (oldAttrs: { # patches = [ ./change-hello-to-hi.patch ]; # }); # }) ]; # Configure your nixpkgs instance config = { # Disable if you don't want unfree packages allowUnfree = true; # Workaround for https://github.com/nix-community/home-manager/issues/2942 allowUnfreePredicate = _: true; }; }; # TODO: Set your username home = { username = "cnst"; homeDirectory = "/home/cnst"; }; # Add stuff for your user as you see fit: # programs.neovim.enable = true; home.packages = with pkgs; [ # Desktop firefox alacritty wl-clipboard dunst keepassxc ranger webcord-vencord xfce.thunar xfce.thunar-volman xfce.thunar-archive-plugin gnome.file-roller gvfs swaybg wireguard-tools wpa_supplicant ntfs3g xdg-utils kdePackages.polkit-kde-agent-1 networkmanagerapplet blueman htop btop tofi pamixer virt-manager qbittorrent fastfetch waybar nwg-look mullvad-vpn thefuck calcurse ]; # Hyprland & accessories # wayland.windowManager.hyprland.enable = true; # programs.waybar.enable = true; wayland.windowManager.hyprland = { enable = true; package = pkgs.hyprland; xwayland.enable = true; extraConfig = '' ${builtins.readFile ./hypr/hyprland.conf} ''; systemd.enable = true; }; xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk]; home.sessionVariables = { MOZ_ENABLE_WAYLAND = 1; NIXOS_OZONE_WL = 1; SDL_VIDEODRIVER = "wayland"; QT_QPA_PLATFORM = "wayland"; QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; }; gtk = { enable = true; theme = { package = pkgs.orchis-theme; name = "Orchis-Grey-Dark-Compact"; }; iconTheme = { package = pkgs.gruvbox-plus-icons; name = "Gruvbox-Plus-Dark"; }; font = { name = "FiraCode Nerd Font Light"; size = 11; }; }; programs = { home-manager.enable = true; git = { enable = true; userName = "cnst"; userEmail = "cnst@cana.st"; }; zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; shellAliases = { nixconfig = "cd /home/cnst/.nix-config/"; ll = "ls -l"; nixupdate = "sudo nixos-rebuild switch --flake .#cnix"; flakeupdate = "nix flake update"; }; history = { size = 10000; path = "${config.xdg.dataHome}/zsh/history"; }; oh-my-zsh = { enable = true; plugins = ["git" "thefuck"]; theme = "robbyrussell"; }; }; }; # Nicely reload system units when changing configs systemd.user.startServices = "sd-switch"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion home.stateVersion = "24.05"; }