204 lines
4.7 KiB
Nix
204 lines
4.7 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
home = {
|
|
username = "hms";
|
|
homeDirectory = "/home/hms";
|
|
|
|
# Packages
|
|
packages = with pkgs; [
|
|
# Utilities
|
|
xz
|
|
zip
|
|
unzip
|
|
ripgrep
|
|
tealdeer
|
|
zoxide
|
|
just
|
|
|
|
# Applications
|
|
blackbox-terminal
|
|
zotero
|
|
zulip
|
|
discord
|
|
signal-desktop
|
|
gapless
|
|
protonmail-bridge-gui
|
|
newsflash
|
|
gnome-solanum
|
|
|
|
# Development
|
|
## Typst, LaTeX
|
|
tinymist
|
|
texliveFull
|
|
|
|
## Nix
|
|
nixfmt-rfc-style
|
|
nil
|
|
];
|
|
|
|
# Bash configuration
|
|
shell.enableBashIntegration = true;
|
|
shellAliases = {
|
|
":q" = "exit";
|
|
"h" = "hx";
|
|
"o" = "xdg-open";
|
|
"update" = "sudo nixos-rebuild switch --flake ~/dev/nixos";
|
|
};
|
|
|
|
# Custom files
|
|
file = {
|
|
"firefox-gnome-theme" = {
|
|
target = ".mozilla/firefox/default/chrome/firefox-gnome-theme";
|
|
source = (
|
|
fetchTarball {
|
|
url = "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/v143.tar.gz";
|
|
sha256 = "1gkfi77n8cn5xzl3wi9mggh7adirjrsnbqygg1mcvjy0ynmd6kfh";
|
|
}
|
|
);
|
|
};
|
|
};
|
|
|
|
stateVersion = "25.11";
|
|
};
|
|
|
|
programs = {
|
|
home-manager.enable = true;
|
|
|
|
taskwarrior = {
|
|
enable = true;
|
|
dataLocation = "${config.home.homeDirectory}/.local/share/task";
|
|
colorTheme = "light-256";
|
|
config.editor = "hx";
|
|
};
|
|
|
|
# Helix configuration
|
|
helix = {
|
|
enable = true;
|
|
defaultEditor = true;
|
|
settings = {
|
|
theme = "adwaita-light";
|
|
editor = {
|
|
lsp.display-messages = true;
|
|
inline-diagnostics.cursor-line = "info";
|
|
rulers = [ 81 ];
|
|
gutters.layout = [ "diagnostics" ];
|
|
};
|
|
keys.insert.j.k = "normal_mode";
|
|
};
|
|
};
|
|
|
|
jujutsu = {
|
|
enable = true;
|
|
settings = {
|
|
user = {
|
|
name = "Henri Saudubray";
|
|
email = "henri.saudubray@proton.me";
|
|
};
|
|
ui.default-command = "log";
|
|
};
|
|
};
|
|
|
|
firefox = {
|
|
enable = true;
|
|
profiles.default = {
|
|
name = "Default";
|
|
settings = {
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
"svg.context-properties.content.enabled" = true;
|
|
"gnomeTheme.hideSingleTab" = true;
|
|
};
|
|
userChrome = ''
|
|
@import "firefox-gnome-theme/userChrome.css";
|
|
@import "firefox-gnome-theme/theme/colors/dark.css";
|
|
'';
|
|
};
|
|
};
|
|
|
|
bat.enable = true;
|
|
|
|
git = {
|
|
enable = true;
|
|
settings = {
|
|
user = {
|
|
email = "henri.saudubray@proton.me";
|
|
name = "Henri Saudubray";
|
|
};
|
|
init.defaultBranch = "main";
|
|
};
|
|
signing.format = "openpgp";
|
|
};
|
|
|
|
bash = {
|
|
enable = true;
|
|
bashrcExtra = ''
|
|
export PS1=" \W \[\e[33m\]λ\[\e[0m\] "
|
|
|
|
task ls
|
|
'';
|
|
};
|
|
|
|
gpg.enable = true;
|
|
|
|
zoxide = {
|
|
enable = true;
|
|
enableBashIntegration = true;
|
|
options = [ "--cmd cd" ];
|
|
};
|
|
};
|
|
|
|
xdg.userDirs = {
|
|
enable = true;
|
|
createDirectories = true;
|
|
desktop = "${config.home.homeDirectory}/dsk";
|
|
documents = "${config.home.homeDirectory}/doc";
|
|
download = "${config.home.homeDirectory}/dwn";
|
|
music = "${config.home.homeDirectory}/aud";
|
|
pictures = "${config.home.homeDirectory}/img";
|
|
publicShare = "${config.home.homeDirectory}/pub";
|
|
templates = "${config.home.homeDirectory}/tpl";
|
|
videos = "${config.home.homeDirectory}/vid";
|
|
};
|
|
|
|
# systemd.user.services.helix-theme = {
|
|
# Unit = {
|
|
# Description = "Helix System Colour Scheme Synchronisation Service";
|
|
# Documentation = "https://github.com/helix-editor/helix/issues/2158";
|
|
# After = "gnome-session.target";
|
|
# };
|
|
# Install.WantedBy = [ "gnome-session.target" ];
|
|
# Service = {
|
|
# Type = "simple";
|
|
# RestartSec = 5;
|
|
# Restart = "always";
|
|
# ExecStart =
|
|
# let
|
|
# update-script = pkgs.writeShellScript "helix-theme-update" ''
|
|
# #!/bin/sh
|
|
# set -eu -o pipefail
|
|
|
|
# if [ "$1" = "default" ]; then
|
|
# sed -i 's/theme = ".*"/theme = "adwaita-light"/' \
|
|
# $HOME/.config/helix/config.toml
|
|
# else
|
|
# sed -i 's/theme = ".*"/theme = "adwaita-dark"/' \
|
|
# $HOME/.config/helix/config.toml
|
|
# fi
|
|
|
|
# killall -s SIGUSR1 hx
|
|
# '';
|
|
# in
|
|
# "${pkgs.writeShellScript "helix-theme-monitor" ''
|
|
# #!/bin/sh
|
|
# gsettings monitor org.gnome.desktop.interface color-scheme \
|
|
# | xargs -L1 bash -c "source ${update-script}"
|
|
# ''}";
|
|
# };
|
|
# };
|
|
|
|
dconf.settings = {
|
|
"org/gnome/TextEditor" = {
|
|
keybindings = "vim";
|
|
};
|
|
};
|
|
}
|