{ 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 ventoy nmap qemu_full qpaeq deadd-notification-center dig arp-scan masscan arduino patchelf eudev #marker.pkgs.end# (import ./traewelling.script.nix) (import ./metronom-login.script.nix) (import ./plans.script.nix) (import ./todos.script.nix) (import ./plans-backend.script.nix) ] ++ (with pkgs; [ freecad nheko olm mkchromecast feh geogebra ]); nixpkgs.config.permittedInsecurePackages = [ "olm-3.2.16" "python3.12-youtube-dl-2021.12.17" ]; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "geogebra" ]; 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 alias nix-fish="nix-shell --command fish" alias gitlog="git log --all --oneline --graph" ''; programs.alacritty.enable = true; programs.direnv = { enable = true; nix-direnv.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 exec deadd-notification-center ''; 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"; "Mod4+p" = "exec killall -USR1 deadd-notification-center"; }; 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"; programs.alacritty.settings.font.size = 10; #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; }; xdg.enable = true; xdg.configFile."deadd/deadd.yml".text = '' width: 600 notification: popup: default-timeout: 10000 ''; xdg.configFile."deadd/deadd.css".source = ./deadd.css; programs.helix.enable = true; programs.helix.defaultEditor = true; programs.helix.settings = { theme = "tudbut"; editor = { line-number = "relative"; lsp.display-messages = true; cursor-shape = { insert = "bar"; }; cursorline = true; bufferline = "always"; lsp.display-inlay-hints = true; idle-timeout = 0; completion-trigger-len = 1; }; keys.normal = { minus = "goto_previous_buffer"; "+" = "goto_next_buffer"; "#" = ":buffer-close"; G = "goto_file_end"; }; keys.normal.g.f = "code_action"; }; programs.helix.themes.tudbut = { inherits = "monokai_pro_ristretto"; "string.special.symbol" = { fg = "#5cdaa7"; }; }; }; }