# This is your home-manager configuration file # Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) { inputs, outputs, lib, config, pkgs, ... }: { # You can import other home-manager modules here imports = [ # If you want to use modules your own flake exports (from modules/home-manager): # outputs.homeManagerModules.example # Or modules exported from other flakes (such as nix-colors): # inputs.nix-colors.homeManagerModules.default # You can also split up your configuration and import pieces of it here: # User services ./services/picom # User programs ./programs/discord ./programs/mangohud # Common programs ../common/programs/git ../common/programs/zsh ../common/programs/nvim ]; nixpkgs = { # You can add overlays here overlays = [ # Add overlays your own flake exports (from overlays and pkgs dir): outputs.overlays.additions outputs.overlays.modifications outputs.overlays.unstable-packages # You can also add 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); }; }; # Enable home-manager programs.home-manager.enable = true; home = { # Setup our user environment username = "sajenim"; homeDirectory = "/home/sajenim"; sessionVariables = { EDITOR = "nvim"; }; # Install some packages packages = with pkgs; [ # Stable user programs bitwarden dmenu feh gamemode spotify prismlauncher runelite xmobar # Unstable user programs unstable.wezterm ]; }; # Setup our window manager xsession.windowManager.xmonad = { enable = true; enableContribAndExtras = true; config = ../../pkgs/xmonad-config/src/xmonad.hs; }; # Copy our personal font collection home.file.".local/share/fonts" = { recursive = true; source = ../common/fonts; }; # Copy some configuration files to $XDG_CONFIG_HOME xdg.configFile = { wezterm = { source = ./programs/wezterm/config; recursive = true; }; }; # Setup our desktop environment home.file.".xinitrc".source = ./xinitrc; # Nicely reload system units when changing configs systemd.user.startServices = "sd-switch"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion home.stateVersion = "22.11"; }