feat (home): begin graphical split, vcs tweaks
This commit is contained in:
parent
a9951d5a2f
commit
d1c0846cf8
4 changed files with 256 additions and 238 deletions
141
home/cli.nix
Normal file
141
home/cli.nix
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./packages/helix
|
||||
];
|
||||
|
||||
home = {
|
||||
username = "hms";
|
||||
homeDirectory = "/home/hms";
|
||||
|
||||
# Packages
|
||||
packages = with pkgs; [
|
||||
xz
|
||||
zip
|
||||
unzip
|
||||
ripgrep
|
||||
tealdeer
|
||||
zoxide
|
||||
just
|
||||
xclip
|
||||
tinymist
|
||||
texliveFull
|
||||
];
|
||||
|
||||
# Bash configuration
|
||||
shell.enableBashIntegration = true;
|
||||
shellAliases = {
|
||||
":q" = "exit";
|
||||
"h" = "hx";
|
||||
"o" = "xdg-open";
|
||||
"update" = "sudo nixos-rebuild switch --flake ~/dev/nixos";
|
||||
};
|
||||
|
||||
# Custom files
|
||||
stateVersion = "25.11";
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
programs.taskwarrior = {
|
||||
enable = true;
|
||||
dataLocation = "${config.home.homeDirectory}/.local/share/task";
|
||||
# colorTheme = "light-256";
|
||||
config.editor = "hx";
|
||||
};
|
||||
|
||||
programs.jujutsu = {
|
||||
enable = true;
|
||||
settings.user.name = "Henri Saudubray";
|
||||
settings.user.email = "henri.saudubray@proton.me";
|
||||
settings.ui.default-command = "log";
|
||||
settings.ui.diff-editor = ":builtin";
|
||||
settings.signing.behavior = "own";
|
||||
settings.signing.backend = "gpg";
|
||||
};
|
||||
|
||||
programs.bat.enable = true;
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings = {
|
||||
user = {
|
||||
email = "henri.saudubray@proton.me";
|
||||
name = "Henri Saudubray";
|
||||
};
|
||||
init.defaultBranch = "main";
|
||||
merge.conflictstyle = "diff3";
|
||||
};
|
||||
signing = {
|
||||
format = "openpgp";
|
||||
signByDefault = true;
|
||||
key = "0x7065F57ED8856128";
|
||||
};
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
bashrcExtra = ''
|
||||
export PS1=" \W \[\e[33m\]λ\[\e[0m\] "
|
||||
task ls
|
||||
if [ "$(ls -A ~/dwn)" ]; then echo "TODO: organize downloads."; fi
|
||||
'';
|
||||
};
|
||||
|
||||
programs.gpg.enable = true;
|
||||
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
options = [ "--cmd cd" ];
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
xdg.userDirs = {
|
||||
enable = 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";
|
||||
};
|
||||
|
||||
## FIXME: Find an alternative.
|
||||
# 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" ''
|
||||
# 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" ''
|
||||
# gsettings monitor org.gnome.desktop.interface color-scheme \
|
||||
# | xargs -L1 bash -c "source ${update-script}"
|
||||
# ''}";
|
||||
# };
|
||||
# };
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue