{ # Snowfall Lib provides a customized `lib` instance with access to your flake's library # as well as the libraries available from your flake's inputs. lib, # An instance of `pkgs` with your overlays and packages applied is also available. pkgs, # You also have access to your flake's inputs. inputs, # Additional metadata is provided by Snowfall Lib. namespace, # The namespace used for your flake, defaulting to "internal" if not set. home, # The home architecture for this host (eg. `x86_64-linux`). target, # The Snowfall Lib target for this home (eg. `x86_64-home`). format, # A normalized name for the home target (eg. `home`). virtual, # A boolean to determine whether this home is a virtual target using nixos-generators. host, # The host name for this home. # All other arguments come from the home home. config, ... }: { home.username = "julian"; home.homeDirectory = "/home/julian"; # DO NOT CHANGE!!! home.stateVersion = "23.11"; modules = { shell = { # zsh.enable = true; fish.enable = true; direnv.enable = true; }; topgrade.enable = true; neovim.enable = true; alacritty.enable = true; emacs.enable = true; i3 = { enable = true; }; rofi.enable = true; nix-helper.enable = true; }; home.packages = lib.lists.concatMap (packages-list-file: import packages-list-file { inherit pkgs; }) [ ./fonts.nix ./packages.nix ]; fonts.fontconfig.enable = true; # required to autoload fonts from packages gtk = { enable = true; theme.name = "Adwaita-dark"; }; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }