infra/nix/london/gsimmer.nix

153 lines
3.3 KiB
Nix
Raw Normal View History

{
2024-02-05 13:13:44 +00:00
config,
pkgs,
callPackage,
lib,
...
}: {
2023-09-05 22:42:18 +01:00
nixpkgs = {
2024-02-05 13:13:44 +00:00
config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"parsec-bin"
"discord"
];
2023-09-05 22:42:18 +01:00
config.allowUnfree = true;
2024-02-05 13:13:44 +00:00
overlays = let
discordOverlay = self: super: {
discord = super.discord.override {
withVencord = true;
withOpenASAR = true;
2023-09-05 22:42:18 +01:00
};
2024-02-05 13:13:44 +00:00
};
in [
(import (builtins.fetchTarball {
url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
sha256 = "11x80s4jh06ibk390q8wgvvi614fapiswmbi6z9xy9d21pf7mw33";
2024-02-05 13:13:44 +00:00
}))
discordOverlay
];
2023-09-05 22:42:18 +01:00
};
home = {
username = "gsimmer";
homeDirectory = "/home/gsimmer";
};
2024-02-05 13:13:44 +00:00
2023-10-27 14:54:18 +01:00
services.pueue = {
enable = true;
settings = {
2024-02-05 13:13:44 +00:00
client = {};
2023-10-27 14:54:18 +01:00
daemon.callback = ''
${pkgs.libnotify}/bin/notify-send -t 4000 "Task {{id}} finished, status '{{result}}'" "<b>{{exit_code}}</b> {{command}}"
'';
2024-02-05 13:13:44 +00:00
shared = {};
profiles = {};
2023-10-27 14:54:18 +01:00
};
};
2024-02-05 13:13:44 +00:00
2023-09-05 22:42:18 +01:00
programs = {
2024-03-22 21:43:45 +00:00
alacritty = {
enable = true;
settings = {
import = [ "${pkgs.alacritty-theme}/breeze.toml" ];
font.normal.family = "Berkeley Mono";
2024-03-22 21:43:45 +00:00
};
};
2023-09-05 22:42:18 +01:00
bash.enable = false;
fish = {
2024-02-05 13:11:02 +00:00
enable = true;
2023-09-05 22:42:18 +01:00
interactiveShellInit = ''
2024-02-05 13:13:44 +00:00
set fish_greeting
atuin init fish | source
'';
2023-09-05 22:42:18 +01:00
};
2024-02-05 13:13:44 +00:00
2023-09-05 22:42:18 +01:00
direnv = {
enable = true;
nix-direnv.enable = true;
};
2023-09-05 22:42:18 +01:00
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;
};
};
2024-03-22 21:43:45 +00:00
difftastic.enable = true;
};
2023-09-05 22:42:18 +01:00
emacs = {
enable = true;
package = pkgs.emacs-unstable-pgtk;
extraPackages = epkgs: [
epkgs.vterm
];
};
2023-09-09 22:53:50 +01:00
eza = {
2023-09-05 22:42:18 +01:00
enable = true;
2024-03-22 21:43:45 +00:00
enableFishIntegration = true;
2023-09-05 22:42:18 +01:00
};
bat = {
enable = true;
};
};
2023-11-07 12:32:55 +00:00
# Prevent clobbering SSH_AUTH_SOCK
home.sessionVariables = {
2024-02-05 13:13:44 +00:00
SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/yubikey-agent/yubikey-agent.sock";
2023-11-07 12:32:55 +00:00
};
# Disable gnome-keyring ssh-agent
xdg.configFile."autostart/gnome-keyring-ssh.desktop".text = ''
2024-02-05 13:13:44 +00:00
${lib.fileContents "${pkgs.gnome3.gnome-keyring}/etc/xdg/autostart/gnome-keyring-ssh.desktop"}
Hidden=true
'';
2023-11-07 12:32:55 +00:00
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
2023-09-13 23:17:50 +01:00
comma
2024-02-05 13:11:02 +00:00
transmission_4-qt
ungoogled-chromium
];
# 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;
}