{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: # ./nvim.nix ./package-configs/plasma-desktop.nix ./package-configs/firefox.nix ./package-configs/konsole ./package-configs/foot ./package-configs/freetube ./package-configs/vesktop ]; nixpkgs = { # You can add overlays here overlays = [ # 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 ]; # }); # }) (final: prev: { catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: { accent = "mauve"; boldKeywords = true; italicComments = true; italicKeywords = true; extraBordersEnabled = false; workbenchMode = "default"; bracketMode = "rainbow"; colorOverrides = {}; customUIColors = {}; }); }) (final: prev: { catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: { accent = "mauve"; boldKeywords = true; italicComments = true; italicKeywords = true; extraBordersEnabled = false; workbenchMode = "default"; bracketMode = "rainbow"; colorOverrides = {}; customUIColors = {}; }); }) ]; config = { permittedInsecurePackages = ["cinny-4.2.3" "cinny-unwrapped-4.2.3" "cinny-4.2.2" "cinny-unwrapped-4.2.2"]; # Configure your nixpkgs instance # Disable if you don't want unfree packages allowUnfree = true; }; }; home = { username = "lillian"; homeDirectory = "/home/lillian"; }; # Add stuff for your user as you see fit: # programs.neovim.enable = true; # home.packages = with pkgs; [ steam ]; home.packages = with pkgs; [ # Coding: direnv git git-credential-manager git-credential-manager ruff kate # Chat applications: signal-desktop vesktop # cinny-desktop # Gaming: prismlauncher steam gamescope # Multimedia: freetube vlc fcast-receiver fcast-client # Office applications: onlyoffice-bin gimp thunderbird # System tools: rage flameshot fzf nextcloud-client nitrokey-app protonvpn-gui virtualbox #watchmate qbittorrent # Theming: catppuccin-cursors (catppuccin-kde.override { flavour = ["macchiato"]; accents = ["mauve"]; }) catppuccin-sddm-corners # Theming: catppuccin-cursors (catppuccin-kde.override { flavour = ["macchiato"]; accents = ["mauve"]; }) catppuccin-sddm-corners # Web browsing: firefoxpwa firefoxpwa ungoogled-chromium ]; programs = { # vscode = { # enable = true; # package = pkgs.vscodium; # extensions = with pkgs.vscode-extensions; [ # catppuccin.catppuccin-vsc # catppuccin.catppuccin-vsc-icons # charliermarsh.ruff # eamodio.gitlens # github.vscode-pull-request-github # jnoortheen.nix-ide # kamadorueda.alejandra # mkhl.direnv # ms-toolsai.jupyter # ms-pyright.pyright # oderwat.indent-rainbow # rust-lang.rust-analyzer # yzhang.markdown-all-in-one # ]; # }; obs-studio.enable = true; obs-studio.plugins = with pkgs.obs-studio-plugins; [ wlrobs obs-backgroundremoval obs-pipewire-audio-capture ]; # Enable home-manager and git home-manager.enable = true; git = { enable = true; userEmail = "git@lillianviolet.dev"; userName = "Lillian-Violet"; extraConfig = { init = { defaultBranch = "main"; }; }; ignores = [ "*.direnv" "*.vscode" ".envrc" "venv" "venv" ]; }; gpg.enable = true; gpg.settings = { default-key = "0d43 5407 034c 2ad9 2d42 799d 280e 061d ff60 0f0d"; default-recipient-self = true; auto-key-locate = "local,wkd,keyserver"; keyserver = "hkps://keys.openpgp.org"; auto-key-retrieve = true; auto-key-import = true; keyserver-options = "honor-keyserver-url"; no-autostart = true; }; }; services = { kdeconnect.package = pkgs.kdePackages.kdeconnect-kde; kdeconnect.enable = true; }; # Nicely reload system units when changing configs systemd.user.startServices = "sd-switch"; }