{ pkgs, ... }: { imports = [ ./rnnnoise.nix ./hyprland-services.nix ./neovim.nix ]; # Home Manager needs a bit of information about you and the paths it should # manage. home.username = "eriq12"; home.homeDirectory = "/home/eriq12"; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release # introduces backwards incompatible changes. # # You should not change this value, even if you update Home Manager. If you do # want to update the value, then make sure to first check the Home Manager # release notes. home.stateVersion = "26.05"; # Please read the comment before changing. # The home.packages option allows you to install Nix packages into your # environment. home.packages = with pkgs; [ # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. # pkgs.hello # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the # # parentheses. Maybe you want to install Nerd Fonts with a limited number of # # fonts? # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) # # You can also create simple shell scripts directly inside your # # configuration. For example, this adds a command 'my-hello' to your # # environment: # (pkgs.writeShellScriptBin "my-hello" '' # echo "Hello, ${config.home.username}!" # '') rnnoise-plugin nil nixd lua-language-server # applications nautilus file-roller pwvucontrol waytrogen losslesscut pika-backup r2modman mission-center localsend # clipboard wl-clipboard # theming bibata-cursors # qt6 theming qt6Packages.qt6ct # thumbnailers ffmpeg-headless ffmpegthumbnailer gdk-pixbuf trash-cli (writeTextFile { name = "raw-embedded-jpeg-thumbnailer"; destination = "/share/thumbnailers/raw-embedded-jpeg.thumbnailer"; text = '' [Thumbnailer Entry] TryExec=gdk-pixbuf-thumbnailer Exec=gdk-pixbuf-thumbnailer -s %s %u %o MimeType=image/x-canon-crw;image/x-canon-cr2;image/x-canon-cr3;image/x-adobe-dng;image/x-dng; ''; }) awww llama-cpp-rocm pi-coding-agent blender hyprshutdown wlogout grim slurp ignition ]; # theming stylix = { enable = true; polarity = "dark"; base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-storm.yaml"; cursor = { package = pkgs.bibata-cursors; name = "Bibata-Modern-Classic"; size = 24; }; icons = { enable = true; package = pkgs.papirus-icon-theme; dark = "Papirus-Dark"; light = "Papirus-Light"; }; }; # Services services.hyprpolkitagent.enable = true; services.mpris-proxy.enable = true; services.udiskie = { enable = true; settings = { program_options = { file_manager = "${pkgs.kdePackages.dolphin}/bin/dolphin"; }; }; }; # programs programs = { quickshell = { enable = true; systemd.enable = true; }; zsh = { enable = true; oh-my-zsh = { enable = true; plugins = [ "git" "z" ]; theme = "agnoster"; }; setOptions = [ "EXTENDED_HISTORY" "RM_STAR_WAIT" "HIST_IGNORE_ALL_DUPS" ]; shellAliases = { rm = "trash"; update = "home-manager switch"; }; }; zed-editor.enable = true; zoxide.enable = true; git = { enable = true; settings = { user = { name = "Eriq Taing"; email = "eriq12@gmail.com"; }; init.defaultBranch = "main"; alias = { ci = "commit"; co = "checkout"; s = "status"; }; }; }; libreoffice.enable = true; brave.enable = true; kitty = true; }; nixpkgs.config = { allowUnfree = true; rocmSupport = true; }; # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { # # Building this configuration will create a copy of 'dotfiles/screenrc' in # # the Nix store. Activating the configuration will then make '~/.screenrc' a # # symlink to the Nix store copy. # ".screenrc".source = dotfiles/screenrc; # # You can also set the file content immediately. # ".gradle/gradle.properties".text = '' # org.gradle.console=verbose # org.gradle.daemon.idletimeout=3600000 # ''; }; # Home Manager can also manage your environment variables through # 'home.sessionVariables'. These will be explicitly sourced when using a # shell provided by Home Manager. If you don't want to manage your shell # through Home Manager then you have to manually source 'hm-session-vars.sh' # located at either # # ~/.nix-profile/etc/profile.d/hm-session-vars.sh # # or # # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh # # or # # /etc/profiles/per-user/eriq12/etc/profile.d/hm-session-vars.sh # home.sessionVariables = { # EDITOR = "emacs"; QT_QPA_PLATFORMTHEME = "qt6ct"; }; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }