{ lib, config, pkgs, ... }: let home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; upkgs = import {}; in { imports = [ (import "${home-manager}/nixos") ]; users.users.tudbut.packages = with upkgs; [ firefox thunderbird tree keepassxc sshfs arc-theme signal-desktop gimp yt-dlp ( mpv-unwrapped.wrapper { mpv = mpv-unwrapped.override { ffmpeg = ffmpeg-full; }; } ) graphviz giac-with-xcas sqlite-interactive acpi nix-init hydra-check mate.eom jdt-language-server bluej pcmanfm filezilla tree-sitter gnome-network-displays prismlauncher prusa-slicer evcxr tcpdump hyfetch libreoffice nushell testdisk bb elixir-ls elixir dogdns scc typst geogebra #marker.pkgs.end# (import ./traewelling.script.nix) (import ./plans.script.nix) (import ./todos.script.nix) (import ./plans-backend.script.nix) ] ++ (with pkgs; [ freecad nheko olm mkchromecast feh ]); 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/spl" export ISBPL_PATH="$HOME/gitshit/isbpl" function mmgui sudo modem-manager-gui & disown exit end function jjci jjc "$(head -n1)" end function jjc echo "public class _main { public static void p(Object o) { System.out.println(o); } public static void main(String[] args) { $argv ; } }" > src/_main.java jjj _main rm src/_main.java end function jjj mkdir src build lib res 2> /dev/null pushd src javac -cp "../lib" -d ../build $(find -type f) popd java -cp "build/:lib/:res/" $argv end if status is-interactive stty -echo if [ -e ~/sync/todo.txt ] set_color magenta echo "> Plans from ~/sync/plans.txt:" set_color brmagenta cat ~/sync/plans.txt echo set_color blue echo "> Your TODOs from ~/sync/todo.txt:" set_color brblue cat ~/sync/todo.txt else set_color red echo "> Sync is not mounted." end echo # check träwelling traewelling set_color normal stty echo end function edit-todo hx ~/sync/todo.txt clear exec $SHELL end ''; 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; extraConfig = "exec feh --bg-fill .background-image"; 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 = "workspace number 1"; gaps = { inner = 12; }; }; }; programs.i3status.enable = true; programs.i3status.modules."cpu_temperature 0" = { enable = true; position = 6; }; programs.i3status.modules."battery all".settings.format = "%status %percentage %remaining %emptytime %consumption"; programs.i3status.modules."battery all".settings.last_full_capacity = true; services.picom.enable = true; programs.alacritty.settings.window.opacity = 0.7; programs.alacritty.settings.font.normal.family = "Monocraft"; services.dunst.enable = true; gtk.enable = true; gtk.theme = { name = "Arc-Dark"; package = pkgs.arc-theme; }; gtk.iconTheme = { name = "Breeze-Dark"; package = pkgs.breeze-icons; }; }; }