diff --git a/config/home-desktop.nix b/config/home-desktop.nix new file mode 100644 index 0000000..8af7a0e --- /dev/null +++ b/config/home-desktop.nix @@ -0,0 +1,176 @@ +# This is your home-manager configuration file +# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix) +{ + inputs, + lib, + config, + pkgs, + myhostname, + ... +}: { + imports = [ + ../shared/dwm.nix + ../shared/vscode.nix + ../shared/dmenu.nix + ../shared/rofi.nix + ../shared/kitty.nix + ../shared/alacritty.nix + ../shared/tmux.nix + ../shared/vim.nix + ../shared/fish.nix + ../shared/git.nix + ../shared/nixpkgs.nix + ../shared/firefox.nix + ../shared/zathura.nix + ../shared/lazygit.nix + ../shared/ssh.nix + ../shared/aerc.nix + ../shared/oh-my-posh.nix + ]; + + nixpkgs = { + overlays = []; + config = { + allowUnfree = true; + allowUnfreePredicate = _: true; + }; + }; + + + home.packages = with pkgs; [ + # System + xsel + unzip + zip + wget + alsa-utils + upower + gcc + gnumake + cmake + arion + htop + pavucontrol + procps + openssh + networkmanager + fd + bat + bluez + bluez-tools + unstable.betterlockscreen + tmux + unstable.fzf + eza + btop + thttpd + xcolor + openssl + dig + jq + + # Dev + unstable.deno + unstable.hugo + unstable.logstash + ngrok + tailwindcss + nodejs_22 + gh-f + gh + yarn + plantuml + go + dotnetCorePackages.sdk_8_0_3xx + templ + + #Tools + qrencode + air + k9s + git + lazydocker + kubectl + + #LSP + roslyn + roslyn-ls + python312Packages.python-lsp-server + yaml-language-server + nil + jdt-language-server + texlab + marksman + nodePackages_latest.bash-language-server + typescript + nodePackages_latest.typescript-language-server + nodePackages_latest.vls + nodePackages_latest.volar + lua-language-server + tree-sitter + gopls + rust-analyzer + + # UI + rofi-bluetooth + pastel + imagemagick + + #VPN + openvpn + networkmanagerapplet + networkmanager-l2tp + strongswan + + # Display + scrot + xbanish + feh + brightnessctl + dunst + + # Documents + ripgrep + grc + texliveFull + pandoc + poppler_utils + + #Desktop + unstable.feishin + firefox + libreoffice + unstable.signal-desktop + pinta + zathura + vial + thunderbird + alacritty + unstable.neovim + fastfetch + lazygit + byzanz + remmina + obsidian + + # Utils + speedcrunch + + #Unfree + discord + slack + ]; + programs.home-manager.enable = true; + programs.fish.enable = true; + programs.man.generateCaches = false; + + xsession.enable = true; + xsession.windowManager.command = if myhostname == "laptop" then "/home/fw/nix/.xinitrc.laptop" else if myhostname == "jobb" then "/home/fw/nix/.xinitrc.jobb" else "/home/fw/nix/.xinitrc"; + + home.username = "fw"; + home.homeDirectory = "/home/fw"; + + home.stateVersion = "23.11"; # Did you read the comment? + + systemd.user.startServices = "sd-switch"; +} diff --git a/maskiner/laptop/configuration.nix b/maskiner/laptop/configuration.nix index 902b572..f986392 100644 --- a/maskiner/laptop/configuration.nix +++ b/maskiner/laptop/configuration.nix @@ -18,9 +18,12 @@ networking.hostName = myhostname; - environment.systemPackages = with pkgs; [ - dotnet-sdk_8 - ]; + environment.systemPackages = with pkgs; [ + qgis + koreader + foliate + k3sup + ]; services.xserver.dpi = 140; diff --git a/shared/rofi.nix b/shared/rofi.nix index ce9757d..9d0d3d8 100644 --- a/shared/rofi.nix +++ b/shared/rofi.nix @@ -1,11 +1,119 @@ -{ pkgs, lib, ... }: +{ config, pkgs, lib, ... }: { programs.rofi = { enable = true; - plugins = with pkgs; [ - rofi-calc - rofi-pulse-select - ]; - font = "FiraCode NerdFont 17"; + # theme = + # let + # inherit (config.lib.formats.rasi) mkLiteral; + # in { + # "*" = { + # bg-col = mkLiteral "#1e1e2e"; + # bg-col-light = mkLiteral "#1e1e2e"; + # border-col = mkLiteral "#1e1e2e"; + # selected-col = mkLiteral "#1e1e2e"; + # blue = mkLiteral "#89b4fa"; + # fg-col = mkLiteral "#cdd6f4"; + # fg-col2 = mkLiteral "#f38ba8"; + # grey = mkLiteral "#6c7086"; + # }; + # + # "element-text, element-icon, mode-switcher" = { # Combine selectors + # background-color = mkLiteral "inherit"; + # text-color = mkLiteral "inherit"; + # }; + # + # "#window" = { # Use # for IDs + # height = mkLiteral "360px"; # Important: Use mkLiteral for dimensions and units + # border = mkLiteral "3px"; # Important: Use mkLiteral for dimensions and units + # border-color = mkLiteral "@border-col"; + # background-color = mkLiteral "@bg-col"; + # }; + # + # "#mainbox" = { + # background-color = mkLiteral "@bg-col"; + # }; + # + # "#inputbar" = { + # children = map mkLiteral ["prompt" "entry"]; + # background-color = mkLiteral "@bg-col"; + # border-radius = mkLiteral "5px"; # Important: Use mkLiteral for dimensions and units + # padding = mkLiteral "2px"; # Important: Use mkLiteral for dimensions and units + # }; + # + # "#prompt" = { + # background-color = mkLiteral "@blue"; + # padding = mkLiteral "6px"; # Important: Use mkLiteral for dimensions and units + # text-color = mkLiteral "@bg-col"; + # border-radius = mkLiteral "3px"; # Important: Use mkLiteral for dimensions and units + # margin = mkLiteral "20px 0px 0px 20px"; # Important: Use mkLiteral for dimensions and units + # }; + # + # "#textbox-prompt-colon" = { + # expand = false; + # str = mkLiteral ":"; + # }; + # + # "#entry" = { + # padding = mkLiteral "6px"; # Important: Use mkLiteral for dimensions and units + # margin = mkLiteral "20px 0px 0px 10px"; # Important: Use mkLiteral for dimensions and units + # text-color = mkLiteral "@fg-col"; + # background-color = mkLiteral "@bg-col"; + # }; + # + # "#listview" = { + # border = mkLiteral "0px 0px 0px"; # Important: Use mkLiteral for dimensions and units + # padding = mkLiteral "6px 0px 0px"; # Important: Use mkLiteral for dimensions and units + # margin = mkLiteral "10px 0px 0px 20px"; # Important: Use mkLiteral for dimensions and units + # columns = mkLiteral "2"; # Important: Use mkLiteral for dimensions and units + # lines = mkLiteral "5"; # Important: Use mkLiteral for dimensions and units + # background-color = mkLiteral "@bg-col"; + # }; + # + # "#element" = { + # padding = mkLiteral "5px"; # Important: Use mkLiteral for dimensions and units + # background-color = mkLiteral "@bg-col"; + # text-color = mkLiteral "@fg-col"; + # }; + # + # "#element-icon" = { + # size = mkLiteral "25px"; # Important: Use mkLiteral for dimensions and units + # }; + # + # "element.selected" = { # Use . for classes + # background-color = mkLiteral "@selected-col"; + # text-color = mkLiteral "@fg-col2"; + # }; + # + # "#mode-switcher" = { + # spacing = mkLiteral "0"; + # }; + # + # "#button" = { + # padding = mkLiteral "10px"; # Important: Use mkLiteral for dimensions and units + # background-color = mkLiteral "@bg-col-light"; + # text-color = mkLiteral "@grey"; + # vertical-align = mkLiteral "0.5"; + # horizontal-align = mkLiteral "0.5"; + # }; + # + # "button.selected" = { # Use . for classes + # background-color = mkLiteral "@bg-col"; + # text-color = mkLiteral "@blue"; + # }; + # + # "#message" = { + # background-color = mkLiteral "@bg-col-light"; + # margin = mkLiteral "2px"; # Important: Use mkLiteral for dimensions and units + # padding = mkLiteral "2px"; # Important: Use mkLiteral for dimensions and units + # border-radius = mkLiteral "5px"; # Important: Use mkLiteral for dimensions and units + # }; + # + # "#textbox" = { + # padding = mkLiteral "6px"; # Important: Use mkLiteral for dimensions and units + # margin = mkLiteral "20px 0px 0px 20px"; # Important: Use mkLiteral for dimensions and units + # text-color = mkLiteral "@blue"; + # background-color = mkLiteral "@bg-col-light"; + # }; + # }; }; }