193 lines
4.4 KiB
Nix
193 lines
4.4 KiB
Nix
{ 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 = "22.05";
|
|
|
|
# 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;
|
|
};
|
|
|
|
programs.fish.enable = true;
|
|
programs.fish.plugins = [
|
|
# {
|
|
# name = "oh-my-fish";
|
|
# src = pkgs.fetchFromGitHub {
|
|
# owner = "oh-my-fish";
|
|
# repo = "oh-my-fish";
|
|
# rev = "d428b723c8c18fef3b2a00b8b8b731177f483ad8";
|
|
# sha256 = "msItKEPe7uSUpDAfCfdYZjt5NyfM3KtOrLUTO9NGqlg=";
|
|
# };
|
|
# }
|
|
# {
|
|
# name = "plugin-foreign-env";
|
|
# src = pkgs.fetchFromGitHub {
|
|
# owner = "oh-my-fish";
|
|
# repo = "plugin-foreign-env";
|
|
# rev = "b3dd471bcc885b597c3922e4de836e06415e52dd";
|
|
# sha256 = "3h03WQrBZmTXZLkQh1oVyhv6zlyYsSDS7HTHr+7WjY8=";
|
|
# };
|
|
# }
|
|
];
|
|
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
|
|
'';
|
|
};
|
|
}
|