dotfiles/home-manager/modules/profiles/workstation.nix

144 lines
2.3 KiB
Nix
Raw Normal View History

{
config,
pkgs,
lib,
inputs',
...
}: let
inherit
(lib)
concatMapStringsSep
getExe
getExe'
flip
singleton
;
combineWines = wines:
pkgs.stdenv.mkDerivation {
pname = "wine-combined";
version = "unknown";
dontFetch = true;
dontUnpack = true;
dontBuild = true;
installPhase =
''
mkdir -p $out/bin
''
+ (concatMapStringsSep "\n" (
wine: ''
cat > $out/bin/${wine.pname} <<EOF
exec ${getExe wine} "\$@"
EOF
cat > $out/bin/${wine.pname}-server <<EOF
exec ${getExe' wine "wineserver"} "\$@"
EOF
chmod +x $out/bin/${wine.pname}
chmod +x $out/bin/${wine.pname}-server
''
)
wines);
};
in {
imports = [
../picom
../dunst
../keynav
../bash
../emacs
../xmonad
../pantalaimon.nix
../ssh.nix
../wallpaper
../screenlocker
];
programs.librewolf = {
enable = true;
settings = {
"webgl.disabled" = false;
};
};
xsession.enable = true;
home.keyboard = null;
services.redshift = {
enable = true;
dawnTime = "6:00-6:05";
duskTime = "21:00-21:05";
};
home.packages = with pkgs; [
(prismlauncher.override {
jdks = with pkgs; [
jdk8
jdk11
jdk17
];
})
dejavu_fonts
alacritty
gimp
obs-studio
mpv
slack
element-desktop
blender
godot_4
# armcord
pavucontrol
# GPG
gnupg
pass
yubikey-manager
# wine
winetricks
(combineWines [inputs'.nix-gaming.packages.${pkgs.stdenv.system}.wine-ge wineWowPackages.staging])
# 3d printing
openscad
freecad
cura
super-slicer
prusa-slicer
thingiverse-downloader-bash
inkscape
# command line programs
emacsclient-remote
zip
unzip
unrar
git
htop
lm_sensors
cryptsetup
magic-screenshot
emacs-rofi
libnotify
playerctl
git-annex
file
ncdu
lsof
arandr
];
home.file.".config/alacritty/alacritty.toml".source = ../alacritty/alacritty.toml;
home.file.".gpg-agent.conf".text = ''
enable-ssh-support
pinentry-program ${pkgs.pinentry.gtk2}/bin/pinentry
'';
}