{ config, pkgs, ... }: { # Home Manager needs a bit of information about you and the # paths it should manage. home.username = "chris"; home.homeDirectory = "/home/chris"; # 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 can update Home Manager without changing this value. See # the Home Manager release notes for a list of state version # changes in each release. home.stateVersion = "20.09"; # Let Home Manager install and manage itself. programs.home-manager.enable = true; programs.git = { enable = true; userName = "Chris Cochrun"; userEmail = "chris@cochrun.xyz"; }; home.packages = with pkgs; [ exa mpv yt-dlp rofi-emoji nerdfonts latte-dock bat libsForQt5.bismuth bc libnotify rofi-wayland ripgrep sysstat procs papirus-icon-theme phinger-cursors plasma-hud kde-cli-tools macchina meson ninja cmake gnumake extra-cmake-modules gcc gzip htop btop firefox kate kdialog openlp easyeffects libreoffice-fresh vlc neochat haskellPackages.greenclip pulsemixer any-nix-shell wtype spotdl kdenlive ffmpeg ]; programs.mu.enable = true; # services.emacs = { # enable = true; # package = pkgs.emacsPgtkGcc; # defaultEditor = true; # }; programs.mbsync.enable = true; programs.msmtp.enable = true; services.mbsync.enable = true; home.file.".mbsyncrc" = { source = ./.mbsyncrc; }; services.nextcloud-client = { enable = true; startInBackground = true; }; services.syncthing.enable = true; services.kdeconnect.enable = true; services.easyeffects.enable = true; services.espanso = { enable = true; settings = { matches = [ { # dates trigger = ":date"; replace = "{{mydate}}"; vars = [{ name = "mydate"; type = "date"; params = {format = "%m/%d/%Y";}; }]; } { # Shell commands trigger = ":shell"; replace = "{{output}}"; vars = [{ name = "output"; type = "shell"; params = { cmd = "echo Hello from your shell";}; }]; } { # simple text trigger = ":gml"; replace = "ccochrun21@gmail.com"; } { trigger = ":otl"; replace = "chris.cochrun@outlook.com"; } { trigger = ":tfcml"; replace = "chris@tfcconnection.org"; } { trigger = ":name"; replace = "Chris Cochrun"; } ]; }; }; home.file.".config/rofi" = { source = ./rofi; recursive = true; }; programs.rbw.enable = true; home.file.".config/rbw" = { source = ./rbw; recursive = true; }; home.file.".config/fish" = { source = ./fish; recursive = true; }; programs.qutebrowser.enable = true; home.file.".config/qutebrowser" = { source = ./qutebrowser; recursive = true; }; home.file.".config/mpv" = { source = ./mpv; recursive = true; }; home.file.".config/macchina" = { source = ./macchina; recursive = true; }; home.file."scripts" = { source = ./scripts; recursive = true; }; programs.starship.enable = true; programs.zsh = { enable = true; enableAutosuggestions = true; enableCompletion = true; enableSyntaxHighlighting = true; autocd = true; dotDir = ".config/zsh"; shellAliases = { ls = "exa -l"; la = "exa -la"; mpf = "mpv --profile=fast"; mps = "mpv --profile=slow"; ec = "emacsclient -t"; ecc = "emacsclient -c"; mkdir = "mkdir -pv"; upnix = "update-nix"; }; initExtra = '' macchina ''; }; }