Merge branch 'main' of ssh://git.trivernis.net:22321/Trivernis/dotfiles-silo
commit
ea84a03206
@ -0,0 +1,62 @@
|
|||||||
|
{ config, pkgs, ... }: {
|
||||||
|
home.username = "{{ctx.username}}";
|
||||||
|
home.homeDirectory = "{{dirs.home}}";
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
|
||||||
|
# core cli tools
|
||||||
|
nushell
|
||||||
|
starship
|
||||||
|
wezterm
|
||||||
|
helix
|
||||||
|
zellij
|
||||||
|
broot
|
||||||
|
bottom
|
||||||
|
thefuck
|
||||||
|
hyperfine
|
||||||
|
most
|
||||||
|
direnv
|
||||||
|
htop
|
||||||
|
neofetch
|
||||||
|
|
||||||
|
# common tools
|
||||||
|
librewolf
|
||||||
|
spotify
|
||||||
|
|
||||||
|
# other dev tools
|
||||||
|
insomnia
|
||||||
|
|
||||||
|
# fonts
|
||||||
|
fontconfig
|
||||||
|
(nerdfonts.override {
|
||||||
|
fonts = ["FiraCode"];
|
||||||
|
})
|
||||||
|
lexend
|
||||||
|
joypixels
|
||||||
|
|
||||||
|
# nodejs packages
|
||||||
|
nodejs
|
||||||
|
yarn
|
||||||
|
biome
|
||||||
|
nodePackages.typescript-language-server
|
||||||
|
nodePackages.get-graphql-schema
|
||||||
|
|
||||||
|
# java packages
|
||||||
|
jdk
|
||||||
|
kotlin
|
||||||
|
kotlin-language-server
|
||||||
|
jdt-language-server
|
||||||
|
gradle
|
||||||
|
|
||||||
|
# rust packages
|
||||||
|
rustup
|
||||||
|
cargo-edit
|
||||||
|
cargo-release
|
||||||
|
cargo-lambda
|
||||||
|
];
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
allowUnfree = true;
|
||||||
|
joypixels.acceptLicense = true;
|
||||||
|
}
|
@ -1,4 +0,0 @@
|
|||||||
{pkgs, ... }: {
|
|
||||||
targets.genericLinux.enable = true;
|
|
||||||
home.packages = [ pkgs.jdk8 ];
|
|
||||||
}
|
|
@ -0,0 +1,29 @@
|
|||||||
|
# if running bash
|
||||||
|
if [ -n "$BASH_VERSION" ]; then
|
||||||
|
# include .bashrc if it exists
|
||||||
|
if [ -f "$HOME/.bashrc" ]; then
|
||||||
|
. "$HOME/.bashrc"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# set PATH so it includes user's private bin if it exists
|
||||||
|
if [ -d "$HOME/bin" ] ; then
|
||||||
|
PATH="$HOME/bin:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# set PATH so it includes user's private bin if it exists
|
||||||
|
if [ -d "$HOME/.local/bin" ] ; then
|
||||||
|
PATH="$HOME/.local/bin:$PATH"
|
||||||
|
fi
|
||||||
|
. "$HOME/.cargo/env"
|
||||||
|
|
||||||
|
|
||||||
|
# Nix
|
||||||
|
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
|
||||||
|
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
|
||||||
|
fi
|
||||||
|
if [ -e '$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh' ]; then
|
||||||
|
. '$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh'
|
||||||
|
fi
|
||||||
|
export XDG_DATA_DIRS=$HOME/.nix-profile/share:$HOME/.share:"${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"
|
||||||
|
# End Nix
|
@ -0,0 +1,29 @@
|
|||||||
|
def after_apply_all [] {
|
||||||
|
if not ('~/.nix-profile/bin/home-manager' | path exists) {
|
||||||
|
print $"(ansi red)home-manager is not installed(ansi reset)"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (ha-chksum) == $env.SILO_HA_CHKSUM? {
|
||||||
|
print $"(ansi green)home-manager configuration unchanged(ansi reset)"
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
print "Updating with home-manager"
|
||||||
|
( home-manager switch )
|
||||||
|
|
||||||
|
print "Expiring old home manager configurations"
|
||||||
|
( home-manager expire-generations -1 days )
|
||||||
|
|
||||||
|
print "Cleaning nix store"
|
||||||
|
( nix-store --gc )
|
||||||
|
|
||||||
|
ignore
|
||||||
|
}
|
||||||
|
|
||||||
|
def --env before_apply_all [] {
|
||||||
|
$env.SILO_HA_CHKSUM = (ha-chksum)
|
||||||
|
}
|
||||||
|
|
||||||
|
def ha-chksum [] {
|
||||||
|
shasum ~/.config/home-manager/home.nix
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue