154 lines
3.3 KiB
Nix
154 lines
3.3 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
callPackage,
|
|
lib,
|
|
...
|
|
}: {
|
|
nixpkgs = {
|
|
config.allowUnfreePredicate = pkg:
|
|
builtins.elem (lib.getName pkg) [
|
|
"parsec-bin"
|
|
"discord"
|
|
];
|
|
config.allowUnfree = true;
|
|
overlays = let
|
|
discordOverlay = self: super: {
|
|
discord = super.discord.override {
|
|
withVencord = true;
|
|
withOpenASAR = true;
|
|
};
|
|
};
|
|
in [
|
|
(import (builtins.fetchTarball {
|
|
url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
|
|
sha256 = "09rsdkn16al5qsyrl5fjrljw7ff0z5yb9ihskbipcdiffcn11kax";
|
|
}))
|
|
discordOverlay
|
|
];
|
|
};
|
|
home = {
|
|
username = "gsimmer";
|
|
homeDirectory = "/home/gsimmer";
|
|
};
|
|
|
|
services.pueue = {
|
|
enable = true;
|
|
settings = {
|
|
client = {};
|
|
daemon.callback = ''
|
|
${pkgs.libnotify}/bin/notify-send -t 4000 "Task {{id}} finished, status '{{result}}'" "<b>{{exit_code}}</b> {{command}}"
|
|
'';
|
|
shared = {};
|
|
profiles = {};
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
alacritty = {
|
|
enable = true;
|
|
settings = {
|
|
import = ["${pkgs.alacritty-theme}/breeze.toml"];
|
|
font.normal.family = "Berkeley Mono";
|
|
};
|
|
};
|
|
bash.enable = false;
|
|
fish = {
|
|
enable = true;
|
|
interactiveShellInit = ''
|
|
set fish_greeting
|
|
atuin init fish | source
|
|
'';
|
|
};
|
|
|
|
direnv = {
|
|
enable = true;
|
|
nix-direnv.enable = true;
|
|
};
|
|
|
|
git = {
|
|
enable = true;
|
|
userName = "Gabriel Simmer";
|
|
userEmail = "g@gmem.ca";
|
|
extraConfig = {
|
|
gpg = {
|
|
format = "ssh";
|
|
};
|
|
user = {
|
|
signingkey = "/home/gsimmer/.ssh/yubikey-second.pub";
|
|
};
|
|
tag = {
|
|
gpgSign = true;
|
|
};
|
|
commit = {
|
|
gpgSign = true;
|
|
};
|
|
};
|
|
difftastic.enable = true;
|
|
};
|
|
|
|
emacs = {
|
|
enable = true;
|
|
package = pkgs.emacs-unstable-pgtk;
|
|
extraPackages = epkgs: [
|
|
epkgs.vterm
|
|
];
|
|
};
|
|
|
|
eza = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
bat = {
|
|
enable = true;
|
|
};
|
|
};
|
|
|
|
# Prevent clobbering SSH_AUTH_SOCK
|
|
home.sessionVariables = {
|
|
SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/yubikey-agent/yubikey-agent.sock";
|
|
};
|
|
|
|
# Disable gnome-keyring ssh-agent
|
|
xdg.configFile."autostart/gnome-keyring-ssh.desktop".text = ''
|
|
${lib.fileContents "${pkgs.gnome3.gnome-keyring}/etc/xdg/autostart/gnome-keyring-ssh.desktop"}
|
|
Hidden=true
|
|
'';
|
|
|
|
home.packages = with pkgs; [
|
|
bitwarden-cli
|
|
vlc
|
|
obs-studio
|
|
python3
|
|
thunderbird
|
|
prismlauncher
|
|
ripgrep
|
|
virt-manager
|
|
jre8
|
|
parsec-bin
|
|
nodejs
|
|
atuin
|
|
age-plugin-yubikey
|
|
rage
|
|
discord
|
|
mangohud
|
|
comma
|
|
transmission_4-qt
|
|
ungoogled-chromium
|
|
looking-glass-client
|
|
];
|
|
|
|
# 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 = "23.05";
|
|
|
|
# Let Home Manager install and manage itself.
|
|
programs.home-manager.enable = true;
|
|
}
|