nix-setup/home.nix
2024-09-07 01:18:31 +02:00

96 lines
2.9 KiB
Nix

{ lib, config, pkgs, ... }:
let
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz";
in
{
imports = [
(import "${home-manager}/nixos")
];
users.users.tudbut.packages = with pkgs; [
nheko
firefox
thunderbird
tree
keepassxc
sshfs
arc-theme
signal-desktop
gimp
graphviz
mkchromecast
yt-dlp
giac-with-xcas
sqlite-interactive
mpv
acpi
nix-init
(import /home/tudbut/gitshit/spl {})
(import /home/tudbut/gitshit/revpfw3 {})
];
nixpkgs.config.permittedInsecurePackages = [
"olm-3.2.16"
"python3.12-youtube-dl-2021.12.17"
];
home-manager.backupFileExtension = ".hm-old";
home-manager.users.tudbut = {
programs.home-manager.enable = true;
/* The home.stateVersion option does not have a default and must be set */
home.stateVersion = "24.05";
programs.fish.enable = true;
programs.fish.shellInit = ''
export PATH="$PATH:$HOME/.cargo/bin"
export SPL_PATH="$HOME/gitshit/spl"
export ISBPL_PATH="$HOME/gitshit/isbpl"
'';
programs.alacritty.enable = true;
/* Here goes the rest of your home-manager config, e.g. home.packages = [ pkgs.foo ]; */
xsession.enable = true;
xsession.initExtra = "clipit &";
xsession.windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
config = {
keybindings = lib.mkOptionDefault {
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%";
"XF86MonBrightnessUp" = "exec --no-startup-id bright up";
"XF86MonBrightnessDown" = "exec --no-startup-id bright down";
"Print" = "exec --no-startup-id maim -s screenshot.png && xclip -selection clipboard -target image/png screenshot.png";
"Mod4+q" = "exec sl";
};
terminal = "alacritty";
modifier = "Mod4";
fonts.names = ["Fira Code" "DejaVu Sans Mono"];
fonts.size = 12.0;
bars = [{
statusCommand = "${pkgs.i3status}/bin/i3status";
fonts = {
names = [ "Fira Code" "DejaVu Sans Mono" ];
size = 12.0;
};
}];
defaultWorkspace = "1";
gaps = {
inner = 12;
};
};
};
programs.i3status.enable = true;
programs.i3status.modules."battery all".settings.format = "%status %percentage %remaining %emptytime %consumption";
programs.i3status.modules."battery all".settings.last_full_capacity = true;
services.dunst.enable = true;
gtk.enable = true;
gtk.theme = {
name = "Arc-Dark";
package = pkgs.arc-theme;
};
};
}