diff --git a/flake.nix b/flake.nix index bd2344c..93d11f0 100644 --- a/flake.nix +++ b/flake.nix @@ -117,8 +117,6 @@ permittedInsecurePackages = [ ]; }; - systems.modules.nixos = with inputs; [ nix-topology.nixosModules.default ]; - topology = with inputs; let diff --git a/homes/x86_64-linux/julian@aspi-old/default.nix b/homes/x86_64-linux/julian@aspi/default.nix similarity index 100% rename from homes/x86_64-linux/julian@aspi-old/default.nix rename to homes/x86_64-linux/julian@aspi/default.nix diff --git a/homes/x86_64-linux/julian@aspi-old/fonts.nix b/homes/x86_64-linux/julian@aspi/fonts.nix similarity index 100% rename from homes/x86_64-linux/julian@aspi-old/fonts.nix rename to homes/x86_64-linux/julian@aspi/fonts.nix diff --git a/homes/x86_64-linux/julian@aspi-old/packages.nix b/homes/x86_64-linux/julian@aspi/packages.nix similarity index 100% rename from homes/x86_64-linux/julian@aspi-old/packages.nix rename to homes/x86_64-linux/julian@aspi/packages.nix diff --git a/lib/module/default.nix b/lib/module/default.nix deleted file mode 100644 index 8e0a537..0000000 --- a/lib/module/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ lib, ... }: -with lib; -rec { - mkOpt = - type: default: description: - mkOption { inherit type default description; }; - - mkOpt' = type: default: mkOpt type default null; - - mkBoolOpt = mkOpt types.bool; - - mkBoolOpt' = mkOpt' types.bool; - - mkEnableOpt = mkBoolOpt' false; -} diff --git a/modules/nixos/apps/brave/default.nix b/modules/nixos/apps/brave/default.nix deleted file mode 100644 index 43d010d..0000000 --- a/modules/nixos/apps/brave/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.brave; -in { - options.apps.brave = with types; { - enable = mkBoolOpt false "Enable or disable brave browser"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [pkgs.brave]; - - home.persist.directories = [ - ".local/share/BraveSoftware" - ]; - }; -} diff --git a/modules/nixos/apps/discord/default.nix b/modules/nixos/apps/discord/default.nix deleted file mode 100644 index fc1d349..0000000 --- a/modules/nixos/apps/discord/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.apps.discord; -in -{ - options.apps.discord = with types; { - enable = mkBoolOpt false "Enable discord"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ - (pkgs.discord.override { withOpenASAR = true; }) - pkgs.xwaylandvideobridge - ]; - - home.persist.directories = [ ".config/discord" ]; - }; -} diff --git a/modules/nixos/apps/firefox/default.nix b/modules/nixos/apps/firefox/default.nix deleted file mode 100644 index b501e7e..0000000 --- a/modules/nixos/apps/firefox/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.apps.firefox; -in -{ - options.apps.firefox = with types; { - enable = mkBoolOpt false "Enable or disable firefox browser"; - }; - - config = mkIf cfg.enable { - home.programs.firefox = { - enable = true; - package = pkgs.librewolf; - }; - - home.persist.directories = [ - ".librewolf" - ".cache/librewolf" - ]; - }; -} diff --git a/modules/nixos/apps/foot/default.nix b/modules/nixos/apps/foot/default.nix deleted file mode 100644 index eef07d8..0000000 --- a/modules/nixos/apps/foot/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - options, - config, - pkgs, - lib, - inputs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.apps.foot; - inherit (inputs.nix-colors.colorschemes.${builtins.toString config.desktop.colorscheme}) palette; -in -{ - options.apps.foot = with types; { - enable = mkBoolOpt false "Enable or disable the foot terminal."; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.foot ]; - - home.configFile."foot/foot.ini".text = '' - font=JetBrains Mono Nerd Font:size=12 - pad=5x5 - [colors] - foreground=${palette.base05} - background=${palette.base00} - regular0=${palette.base03} - regular1=${palette.base08} - regular2=${palette.base0B} - regular3=${palette.base0A} - regular4=${palette.base0D} - regular5=${palette.base0F} - regular6=${palette.base0C} - regular7=${palette.base05} - bright0=${palette.base04} - bright1=${palette.base08} - bright2=${palette.base0B} - bright3=${palette.base0A} - bright4=${palette.base0D} - bright5=${palette.base0F} - bright6=${palette.base0C} - bright7=${palette.base05} - ''; - }; -} diff --git a/modules/nixos/apps/lutris/default.nix b/modules/nixos/apps/lutris/default.nix deleted file mode 100644 index 596c864..0000000 --- a/modules/nixos/apps/lutris/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.lutris; -in { - options.apps.lutris = with types; { - enable = mkBoolOpt false "Enable or disable lutris"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ - pkgs.lutris - pkgs.fuse - ]; - - home.persist.directories = [ - ".local/share/lutris" - ".cache/lutris" - "Games" - ]; - - # Appimages for certain games - boot.binfmt.registrations.appimage = { - wrapInterpreterInShell = false; - interpreter = "${pkgs.appimage-run}/bin/appimage-run"; - recognitionType = "magic"; - offset = 0; - mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff''; - magicOrExtension = ''\x7fELF....AI\x02''; - }; - }; -} diff --git a/modules/nixos/apps/misc/default.nix b/modules/nixos/apps/misc/default.nix deleted file mode 100644 index d8458bf..0000000 --- a/modules/nixos/apps/misc/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.misc; -in { - options.apps.misc = with types; { - enable = mkBoolOpt false "Enable or disable misc apps"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - # Development - git - git-remote-gcrypt - bat - eza - fzf - fd - - # Util - unzip - sshfs - btop - ffmpeg - python3 - wl-clipboard - - obsidian - pandoc - bookworm - - kjv - ]; - - home.persist.directories = [ - ".config/obsidian" - ]; - }; -} diff --git a/modules/nixos/apps/neovim/default.nix b/modules/nixos/apps/neovim/default.nix deleted file mode 100644 index 74e9c12..0000000 --- a/modules/nixos/apps/neovim/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.neovim; -in { - options.apps.neovim = with types; { - enable = mkBoolOpt false "Enable or disable neovim"; - }; - - config = mkIf cfg.enable { - environment.variables = { - EDITOR = "nvim"; - }; - environment.systemPackages = [ - pkgs.neovim - - pkgs.lazygit - pkgs.stylua - pkgs.sumneko-lua-language-server - pkgs.ripgrep - ]; - - home.persist.directories = [ - ".local/share/nvim" - ".vim" - ".wakatime" - ]; - - home.persist.files = [".wakatime.cfg" ".wakatime.bdb"]; - }; -} diff --git a/modules/nixos/apps/pass/default.nix b/modules/nixos/apps/pass/default.nix deleted file mode 100644 index 5aaf925..0000000 --- a/modules/nixos/apps/pass/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.pass; -in { - options.apps.pass = with types; { - enable = mkBoolOpt false "Enable or disable pass"; - }; - - config = mkIf cfg.enable { - apps.tools.gnupg.enable = true; - - environment.systemPackages = with pkgs; [ - (writeShellScriptBin "pass" '' - GNUPGHOME="$XDG_DATA_HOME/gnupg" PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass" ${pkgs.pass.withExtensions (exts: [ - exts.pass-otp - exts.pass-update - exts.pass-audit - ])}/bin/pass $@ - '') - ]; - - home.persist.directories = [ - ".local/share/pass" - ]; - }; -} diff --git a/modules/nixos/apps/steam/default.nix b/modules/nixos/apps/steam/default.nix deleted file mode 100644 index 6da72ca..0000000 --- a/modules/nixos/apps/steam/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.steam; -in { - options.apps.steam = with types; { - enable = mkBoolOpt false "Enable or disable steam"; - }; - - config = mkIf cfg.enable { - programs.steam.enable = true; - programs.steam.remotePlay.openFirewall = true; - programs.steam.gamescopeSession.enable = true; - - environment.systemPackages = [ - pkgs.steam - pkgs.mangohud - pkgs.protonup - ]; - - environment.sessionVariables = { - STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/${config.user.name}/.steam/root/compatibilitytools.d"; - }; - - programs.gamemode.enable = true; - - home.persist.directories = [ - ".local/share/Steam" - ".steam" - - ".local/share/Terraria" - ]; - }; -} diff --git a/modules/nixos/apps/tools/direnv/default.nix b/modules/nixos/apps/tools/direnv/default.nix deleted file mode 100644 index 49d122d..0000000 --- a/modules/nixos/apps/tools/direnv/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.tools.direnv; -in { - options.apps.tools.direnv = with types; { - enable = mkBoolOpt false "Enable direnv"; - }; - - config = mkIf cfg.enable { - home.programs.direnv = { - enable = true; - nix-direnv.enable = true; - enableNushellIntegration = true; - }; - - environment.sessionVariables.DIRENV_LOG_FORMAT = ""; # Blank so direnv will shut up - - home.persist.directories = [ - ".local/share/direnv" - ]; - }; -} diff --git a/modules/nixos/apps/tools/git/config.nix b/modules/nixos/apps/tools/git/config.nix deleted file mode 100644 index 779556d..0000000 --- a/modules/nixos/apps/tools/git/config.nix +++ /dev/null @@ -1,19 +0,0 @@ -{sshKeyPath}: '' - [user] - name = IogaMaster - email = iogamastercode@gmail.com - signingkey = ${sshKeyPath} - [pull] - rebase = true - [init] - defaultBranch = main - [filter "lfs"] - process = git-lfs filter-process - required = true - clean = git-lfs clean -- %f - smudge = git-lfs smudge -- %f - [gpg] - format = ssh - [commit] - gpgsign = true -'' diff --git a/modules/nixos/apps/tools/git/default.nix b/modules/nixos/apps/tools/git/default.nix deleted file mode 100644 index c99276c..0000000 --- a/modules/nixos/apps/tools/git/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.tools.git; -in { - options.apps.tools.git = with types; { - enable = mkBoolOpt false "Enable or disable git"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - git - git-remote-gcrypt - - gh # GitHub cli - - lazygit - commitizen - ]; - - environment.shellAliases = { - # Git aliases - ga = "git add ."; - gc = "git commit -m "; - gp = "git push -u origin"; - - g = "lazygit"; - }; - - home.configFile."git/config".text = import ./config.nix {sshKeyPath = "/home/${config.user.name}/.ssh/key.pub";}; - home.configFile."lazygit/config.yml".source = ./lazygitConfig.yml; - - home.persist.directories = [ - ".config/gh" - ".config/lazygit" - ".config/systemd" # For git maintainance - ]; - }; -} diff --git a/modules/nixos/apps/tools/git/lazygitConfig.yml b/modules/nixos/apps/tools/git/lazygitConfig.yml deleted file mode 100644 index bdbfa72..0000000 --- a/modules/nixos/apps/tools/git/lazygitConfig.yml +++ /dev/null @@ -1,26 +0,0 @@ -gui: - nerdFontsVersion: "3" - -git: - overrideGpg: true - -customCommands: - - key: "C" - command: "git cz c" - description: "commit with commitizen" - context: "files" - loadingText: "opening commitizen commit tool" - subprocess: true - - key: 'D' - command: >- - git push {{ .SelectedLocalBranch.UpstreamRemote }} --delete {{ .SelectedLocalBranch.UpstreamBranch }} && - git branch -D {{ .SelectedLocalBranch.Name }} - description: "delete local AND remote branch" - context: 'localBranches' - stream: true - - key: 'T' - command: >- - for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do git branch --track "${branch##*/}" "$branch"; done - description: "add ALL remote branches to the list" - context: 'localBranches' - stream: true diff --git a/modules/nixos/apps/tools/gnupg/default.nix b/modules/nixos/apps/tools/gnupg/default.nix deleted file mode 100644 index 88d23b9..0000000 --- a/modules/nixos/apps/tools/gnupg/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.tools.gnupg; -in { - options.apps.tools.gnupg = with types; { - enable = mkBoolOpt false "Enable gnupg"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ - pkgs.pinentry - pkgs.pinentry-curses - - (pkgs.writeShellScriptBin "gpg" '' - GNUPGHOME=${config.environment.variables.GNUPGHOME} ${pkgs.gnupg}/bin/gpg $@ - '') - ]; - - services.pcscd.enable = true; - programs.gnupg.agent = { - enable = true; - pinentryPackage = pkgs.pinentry-curses; - enableSSHSupport = true; - }; - - home.file.".local/share/gnupg/gpg-agent.conf".source = ./gpg-agent.conf; - - environment.variables = { - GNUPGHOME = "$XDG_DATA_HOME/gnupg"; - }; - - home.persist.directories = [ - ".local/share/gnupg" - ".pki" - ]; - }; -} diff --git a/modules/nixos/apps/tools/gnupg/gpg-agent.conf b/modules/nixos/apps/tools/gnupg/gpg-agent.conf deleted file mode 100644 index 7c45d71..0000000 --- a/modules/nixos/apps/tools/gnupg/gpg-agent.conf +++ /dev/null @@ -1 +0,0 @@ -pinentry-program /run/current-system/sw/bin/pinentry-curses diff --git a/modules/nixos/apps/tools/nix-ld/default.nix b/modules/nixos/apps/tools/nix-ld/default.nix deleted file mode 100644 index de745c0..0000000 --- a/modules/nixos/apps/tools/nix-ld/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - options, - config, - lib, - inputs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.apps.tools.nix-ld; -in { - imports = with inputs; [ - nix-ld.nixosModules.nix-ld - ]; - options.apps.tools.nix-ld = with types; { - enable = mkBoolOpt false "Enable nix-ld"; - }; - - config = mkIf cfg.enable { - programs.nix-ld.enable = true; - }; -} diff --git a/modules/nixos/desktop/addons/eww/config/env.yuck b/modules/nixos/desktop/addons/eww/config/env.yuck deleted file mode 100644 index d2a2536..0000000 --- a/modules/nixos/desktop/addons/eww/config/env.yuck +++ /dev/null @@ -1,14 +0,0 @@ -(defpoll hostname :interval "1000s" "hostnamectl hostname") -(defpoll username :interval "1000s" "echo $USER") - -(defpoll net :interval "100s" `nmcli -terse -fields SIGNAL,ACTIVE device wifi | awk --field-separator ':' '{if($2=="yes")print$1}'`) -(defpoll ssid :interval "100s" `nmcli -terse -fields SSID,ACTIVE device wifi | awk --field-separator ':' '{if($2=="yes")print$1}'`) - -(defvar profile "~/.face") - -(defpoll dunst :interval "1s" "[ $(dunstctl is-paused) = false ] && echo  || echo ") - -(defpoll time :interval "1s" `date +'{"hour":"%H","min":"%M","sec":"%S","pretty":"%a, %e %b","day":"%A","month":"%B","dom":"%e","year":"%Y","day_num":"%d","month_num":"%m","year_num":"%y"}'`) - -(deflisten music :initial "" - "playerctl --follow metadata --format '{{ title }} - {{ artist }}' || true") diff --git a/modules/nixos/desktop/addons/eww/config/eww.scss b/modules/nixos/desktop/addons/eww/config/eww.scss deleted file mode 100644 index 0f89829..0000000 --- a/modules/nixos/desktop/addons/eww/config/eww.scss +++ /dev/null @@ -1,113 +0,0 @@ -* { - all: unset; //Unsets everything so you can style everything from scratch -} - -$bg: #1e1e2e; -$black: #313244; -$red: #f38ba8; -$green: #a6e3a1; -$yellow: #f9e2af; -$pink: #f5c2e7; -$blue: #89b4fa; -$purple: #cba6f7; -$cyan: #89dceb; -$white: #cdd6f4; -$gray: #313244; - -* { - transition: 200ms ease; - font-family: "JetBrainsMono Nerd Font"; -} - -.bar { - background-color: $bg; - color: $white; - padding: 10px; -} - -.bar2 { - background-color: $bg; - color: $white; - padding: 10px; -} - -.workspaces { - padding-left: 10; - font-size: 20; -} - -.system { - padding-right: 10; -} - -.module { margin: 0 5px; } - -.metric scale trough highlight { - all: unset; - background-color: $blue; - color: $black; - border-radius: 10px; -} - -.metric scale trough { - all: unset; - background-color: $gray; - border-radius: 50px; - min-height: 3px; - min-width: 50px; - margin-left: 10px; - margin-right: 20px; -} - -.metric scale trough highlight { - all: unset; - background-color: $blue; - color: $black; - border-radius: 10px; -} - -.metric scale trough { - all: unset; - background-color: $gray; - border-radius: 50px; - min-height: 3px; - min-width: 50px; - margin-left: 10px; - margin-right: 20px; -} - -.bat-box scale trough highlight { - all: unset; - background-color: $blue; - color: $black; - border-radius: 10px; -} - -.bat-box scale trough { - all: unset; - background-color: $gray; - border-radius: 50px; - min-height: 3px; - min-width: 50px; - margin-left: 10px; - margin-right: 20px; -} - -.bat-box scale trough highlight { - all: unset; - background-color: $blue; - color: $black; - border-radius: 10px; -} - -.bat-box scale trough { - all: unset; - background-color: $gray; - border-radius: 50px; - min-height: 3px; - min-width: 50px; - margin-left: 10px; - margin-right: 20px; -} - - diff --git a/modules/nixos/desktop/addons/eww/config/eww.yuck b/modules/nixos/desktop/addons/eww/config/eww.yuck deleted file mode 100644 index 713b541..0000000 --- a/modules/nixos/desktop/addons/eww/config/eww.yuck +++ /dev/null @@ -1,39 +0,0 @@ -(include "./widgets/workspaces.yuck") -(include "./widgets/music.yuck") -(include "./widgets/metrics.yuck") - -(defwidget bar [] - (centerbox :orientation "h" - (box - :space-evenly false - :halign "start" - (workspaces)) - (label :text "") - (metrics))) - -;; Windows -(defwindow bar - :monitor 0 - :geometry (geometry :x "0%" - :y "0px" - :width "100%" - :height "4%" - :anchor "top center") - :stacking "fg" - :windowtype "dock" - :wm-ignore false - :exclusive true -(bar)) -(defwindow bar2 - :monitor 1 - :geometry (geometry :x "0%" - :y "0px" - :width "100%" - :height "4%" - :anchor "top center") - :stacking "fg" - :windowtype "dock" - :wm-ignore false - :exclusive true -(bar)) - diff --git a/modules/nixos/desktop/addons/eww/config/scripts/battery-percent b/modules/nixos/desktop/addons/eww/config/scripts/battery-percent deleted file mode 100755 index df32bfc..0000000 --- a/modules/nixos/desktop/addons/eww/config/scripts/battery-percent +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env sh - -set -eu - -if [ -f /sys/class/power_supply/BAT0/capacity ]; then - cat /sys/class/power_supply/BAT0/capacity -fi - diff --git a/modules/nixos/desktop/addons/eww/config/scripts/battery-status b/modules/nixos/desktop/addons/eww/config/scripts/battery-status deleted file mode 100755 index 4ca6034..0000000 --- a/modules/nixos/desktop/addons/eww/config/scripts/battery-status +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env sh - -set -eu - -if [ -f /sys/class/power_supply/BAT0/status]; then - cat /sys/class/power_supply/BAT0/status -fi - diff --git a/modules/nixos/desktop/addons/eww/config/scripts/workspace b/modules/nixos/desktop/addons/eww/config/scripts/workspace deleted file mode 100755 index cbb7611..0000000 --- a/modules/nixos/desktop/addons/eww/config/scripts/workspace +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env bash - -source ~/.config/theme/workspace_colors - -# get initial focused workspace -focusedws=$(hyprctl -j monitors | jaq -r '.[] | select(.focused == true) | .activeWorkspace.id') - -declare -A o=([1]=0 [2]=0 [3]=0 [4]=0 [5]=0 [6]=0 [7]=0 [8]=0 [9]=0 [10]=0) -declare -A monitormap -declare -A workspaces - -# set color for each workspace -status() { - if [ "${o[$1]}" -eq 1 ]; then - mon=${monitormap[${workspaces[$1]}]} - - if [ $focusedws -eq "$1" ]; then - echo -n "${colors[$mon]}" - else - echo -n "${dimmed[$mon]}" - fi - else - echo -n "$empty" - fi -} - -# handle workspace create/destroy -workspace_event() { - o[$1]=$2 - while read -r k v; do workspaces[$k]="$v"; done < <(hyprctl -j workspaces | gojq -r '.[]|"\(.id) \(.monitor)"') -} -# handle monitor (dis)connects -monitor_event() { - while read -r k v; do monitormap["$k"]=$v; done < <(hyprctl -j monitors | gojq -r '.[]|"\(.name) \(.id) "') -} - -# generate the json for eww -generate() { - echo -n '[' - - for i in {1..10}; do - echo -n ''$([ $i -eq 1 ] || echo ,) '{ "number": "'"$i"'", "color": "'$(status "$i")'" }' - done - - echo ']' -} - -# setup - -# add monitors -monitor_event - -# add workspaces -while read -r k v; do workspaces[$k]="$v"; done < <(hyprctl -j workspaces | gojq -r '.[]|"\(.id) \(.monitor)"') - -# check occupied workspaces -for num in "${!workspaces[@]}"; do - o[$num]=1 -done -# generate initial widget -generate - -# main loop -socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | while read -r line; do - case ${line%>>*} in - "workspace") - focusedws=${line#*>>} - ;; - "focusedmon") - focusedws=${line#*,} - ;; - "createworkspace") - workspace_event "${line#*>>}" 1 - ;; - "destroyworkspace") - workspace_event "${line#*>>}" 0 - ;; - "monitor"*) - monitor_event - ;; - esac - generate -done diff --git a/modules/nixos/desktop/addons/eww/config/widgets/metrics.yuck b/modules/nixos/desktop/addons/eww/config/widgets/metrics.yuck deleted file mode 100644 index 0ba3c48..0000000 --- a/modules/nixos/desktop/addons/eww/config/widgets/metrics.yuck +++ /dev/null @@ -1,48 +0,0 @@ -(defwidget metrics [] - (box :class "system" :orientation "h" :space-evenly false :halign "end" - (_battery) - (metric :label "󰘚" - :value {EWW_RAM.used_mem_perc} - :onchange "") - (metric :label "󰋊" - :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)} - :onchange "") - )) - -(defwidget metric [label value onchange] - (box :orientation "h" - :class "metric" - :space-evenly false - (box :class "label" label) - (scale :min 0 - :max 151 - :active {onchange != ""} - :value value - :onchange onchange))) - - - - -(defpoll battery-percent :interval "30s" - :initial '' - "./scripts/battery-percent") -(defpoll battery-status :interval "5s" - :initial '' - "./scripts/battery-status") - -(defwidget _battery [] - (box :class "bat-box" :space-evenly false :spacing 8 - :visable {battery-status != ''} - (label :text {battery-status == 'Charging' ? "󰂄" : - battery-percent < 10 ? "󰂃" : - battery-percent < 20 ? "󰁻" : - battery-percent < 30 ? "󰁼" : - battery-percent < 40 ? "󰁽" : - battery-percent < 50 ? "󰁾" : - battery-percent < 60 ? "󰁿" : - battery-percent < 70 ? "󰂀" : - battery-percent < 80 ? "󰂁" : - battery-percent < 90 ? "󰂂" : "󰁹"}))) - -(defpoll time :interval "1s" - "date '+%H:%M'") diff --git a/modules/nixos/desktop/addons/eww/config/widgets/music.yuck b/modules/nixos/desktop/addons/eww/config/widgets/music.yuck deleted file mode 100644 index 390af68..0000000 --- a/modules/nixos/desktop/addons/eww/config/widgets/music.yuck +++ /dev/null @@ -1,9 +0,0 @@ -(defwidget music [] - (box :class "music" - :orientation "h" - :space-evenly false - :halign "center" - {music != "" ? "󰽰 ${music}" : ""})) - -(deflisten music :initial "" - "playerctl --follow metadata --format '{{ title }} - {{ artist }}' || true") diff --git a/modules/nixos/desktop/addons/eww/config/widgets/workspaces.yuck b/modules/nixos/desktop/addons/eww/config/widgets/workspaces.yuck deleted file mode 100644 index e8e0850..0000000 --- a/modules/nixos/desktop/addons/eww/config/widgets/workspaces.yuck +++ /dev/null @@ -1,13 +0,0 @@ -(defwidget workspaces [] - (eventbox - :onscroll "echo {} | sed -e \"s/up/-1/g\" -e \"s/down/+1/g\" | xargs hyprctl dispatch workspace" - (box - :class "module workspaces" - :spacing 10 - (for i in workspace - (button - :onclick "hyprctl dispatch workspace ${i.number}" - :class "ws" - :style "color: ${i.color};" - "●"))))) -(deflisten workspace "./scripts/workspace") diff --git a/modules/nixos/desktop/addons/eww/default.nix b/modules/nixos/desktop/addons/eww/default.nix deleted file mode 100644 index 0b1c1aa..0000000 --- a/modules/nixos/desktop/addons/eww/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.desktop.addons.eww; -in { - options.desktop.addons.eww = with types; { - enable = mkBoolOpt false "Enable or disable EWW."; - wayland = mkBoolOpt false "Enable wayland support"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - eww-wayland - - playerctl - gojq - jaq - socat - ]; - - home.configFile."eww/" = { - recursive = true; - source = ./config; - }; - }; -} diff --git a/modules/nixos/desktop/addons/gtklock/default.nix b/modules/nixos/desktop/addons/gtklock/default.nix deleted file mode 100644 index 2b00389..0000000 --- a/modules/nixos/desktop/addons/gtklock/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.desktop.addons.gtklock; - inherit (inputs.nix-colors.colorschemes.${builtins.toString config.desktop.colorscheme}) palette; -in { - options.desktop.addons.gtklock = with types; { - enable = mkBoolOpt false "Enable or disable the gtklock screen locker."; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - gtklock - ]; - security.pam.services.gtklock = {}; - - home.configFile."gtklock/style.css".text = '' - window { - background-size: cover; - background-repeat: no-repeat; - background-position: center; - background-color: #${palette.base00}; - } - - clock-label { - color: #${palette.base05}; - } - ''; - }; -} diff --git a/modules/nixos/desktop/addons/mako/default.nix b/modules/nixos/desktop/addons/mako/default.nix deleted file mode 100644 index 4abfdd8..0000000 --- a/modules/nixos/desktop/addons/mako/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.desktop.addons.mako; - inherit (inputs.nix-colors.colorschemes.${builtins.toString config.desktop.colorscheme}) palette; -in -{ - options.desktop.addons.mako = with types; { - enable = mkBoolOpt false "Enable or disable mako"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - mako - libnotify - ]; - - home.configFile."mako/config" = { - text = '' - background-color=#${palette.base00} - text-color=#${palette.base05} - border-color=#${palette.base0D} - progress-color=over #${palette.base02} - - [urgency=high] - border-color=#${palette.base09} - ''; - onChange = '' - ${pkgs.busybox}/bin/pkill -SIGUSR2 mako - ''; - }; - }; -} diff --git a/modules/nixos/desktop/addons/swaync/default.nix b/modules/nixos/desktop/addons/swaync/default.nix deleted file mode 100644 index 8641b14..0000000 --- a/modules/nixos/desktop/addons/swaync/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.desktop.addons.swaync; -in { - options.desktop.addons.swaync = with types; { - enable = mkBoolOpt false "Enable or disable swaync"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - swaync - libnotify - ]; - }; -} diff --git a/modules/nixos/desktop/addons/swww/default.nix b/modules/nixos/desktop/addons/swww/default.nix deleted file mode 100644 index 1874ba3..0000000 --- a/modules/nixos/desktop/addons/swww/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.desktop.addons.swww; -in -{ - options.desktop.addons.swww = with types; { - enable = mkBoolOpt false "Enable or disable SWWW"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ - pkgs.swww - (pkgs.writeShellScriptBin "wallpaper" '' - /usr/bin/env ls ~/.config/wallpapers/ | sort -R | tail -1 |while read file; do - swww img ~/.config/wallpapers/$file --transition-fps 255 --transition-type wipe - echo "$file" - done - '') - ]; - - home.persist.directories = [ ".cache/swww" ]; - }; -} diff --git a/modules/nixos/desktop/addons/waybar/config.jsonc b/modules/nixos/desktop/addons/waybar/config.jsonc deleted file mode 100644 index ac856a3..0000000 --- a/modules/nixos/desktop/addons/waybar/config.jsonc +++ /dev/null @@ -1,80 +0,0 @@ -{ - "layer": "top", - "position": "top", - "mod": "dock", - "exclusive": true, - "passtrough": false, - "gtk-layer-shell": true, - "height": 32, - - "modules-left": [ - "hyprland/workspaces" - ], - - "modules-center": [], - - "modules-right": [ - "tray", - "network", - "battery", - "clock" - ], - - "hyprland/window": { - "format": "{}" - }, - - "hyprland/workspaces": { - "on-scroll-up": "hyprctl dispatch workspace e+1", - "on-scroll-down": "hyprctl dispatch workspace e-1", - "all-outputs": true, - "on-click": "activate", - "format": "{icon}", - "format-icons": { - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10" - } - }, - - "tray": { - "icon-size": 12, - "tooltip": false, - "spacing": 10 - }, - - "clock": { - "format": "{:%H:%M}", - }, - - "pulseaudio": { - "format": " {volume}%", - "tooltip": false, - "format-muted": " N/A", - "on-click": "pavucontrol &", - "scroll-step": 5 - }, - - "network": { - "format-wifi": " {essid} {signalStrength}%", - "format-ethernet": "󰈀", - "format-disconnected": "󰈂" - }, - - "battery": { - "states": { - "warning": 20, - "critical": 15 - }, - "format": "󰁹 {capacity}%", - "format-charging": "󰂄 {capacity}%", - "format-plugged": "󰂄 {capacity}%" - } -} diff --git a/modules/nixos/desktop/addons/waybar/default.nix b/modules/nixos/desktop/addons/waybar/default.nix deleted file mode 100644 index 2045b40..0000000 --- a/modules/nixos/desktop/addons/waybar/default.nix +++ /dev/null @@ -1,223 +0,0 @@ -{ - options, - config, - pkgs, - lib, - inputs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.desktop.addons.waybar; - inherit (inputs.nix-colors.colorschemes.${builtins.toString config.desktop.colorscheme}) palette; -in -{ - options.desktop.addons.waybar = with types; { - enable = mkBoolOpt false "Enable or disable waybar"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.waybar ]; - - home.configFile."waybar/config.jsonc" = { - source = ./config.jsonc; - onChange = '' - ${pkgs.busybox}/bin/pkill -SIGUSR2 waybar - ''; - }; - home.configFile."waybar/style.css" = { - text = '' - * { - /* `otf-font-awesome` is required to be installed for icons */ - font-family: JetBrainsMono Nerd Font; - font-size: 13px; - border-radius: 17px; - } - - #clock, - #custom-notification, - #custom-launcher, - #custom-power-menu, - /*#custom-colorpicker,*/ - #custom-window, - #memory, - #disk, - #network, - #battery, - #custom-spotify, - #pulseaudio, - #window, - #tray { - padding: 5 15px; - border-radius: 12px; - background: #${palette.base00}; - color: #${palette.base07}; - margin-top: 8px; - margin-bottom: 8px; - margin-right: 2px; - margin-left: 2px; - transition: all 0.3s ease; - } - - #window { - background-color: transparent; - box-shadow: none; - } - - window#waybar { - background-color: rgba(0, 0, 0, 0.096); - border-radius: 17px; - } - - window * { - background-color: transparent; - border-radius: 0px; - } - - #workspaces button label { - color: #${palette.base07}; - } - - #workspaces button.active label { - color: #${palette.base00}; - font-weight: bolder; - } - - #workspaces button:hover { - box-shadow: #${palette.base07} 0 0 0 1.5px; - background-color: #${palette.base00}; - min-width: 50px; - } - - #workspaces { - background-color: transparent; - border-radius: 17px; - padding: 5 0px; - margin-top: 3px; - margin-bottom: 3px; - } - - #workspaces button { - background-color: #${palette.base00}; - border-radius: 12px; - margin-left: 10px; - - transition: all 0.3s ease; - } - - #workspaces button.active { - min-width: 50px; - box-shadow: rgba(0, 0, 0, 0.288) 2 2 5 2px; - background-color: #${palette.base0F}; - background-size: 400% 400%; - transition: all 0.3s ease; - background: linear-gradient( - 58deg, - #${palette.base0E}, - #${palette.base0E}, - #${palette.base0E}, - #${palette.base0D}, - #${palette.base0D}, - #${palette.base0E}, - #${palette.base08} - ); - background-size: 300% 300%; - animation: colored-gradient 20s ease infinite; - } - - @keyframes colored-gradient { - 0% { - background-position: 71% 0%; - } - 50% { - background-position: 30% 100%; - } - 100% { - background-position: 71% 0%; - } - } - - #custom-power-menu { - margin-right: 10px; - padding-left: 12px; - padding-right: 15px; - padding-top: 3px; - } - - #custom-spotify { - margin-left: 5px; - padding-left: 15px; - padding-right: 15px; - padding-top: 3px; - color: #${palette.base07}; - background-color: #${palette.base00}; - transition: all 0.3s ease; - } - - #custom-spotify.playing { - color: rgb(180, 190, 254); - background: rgba(30, 30, 46, 0.6); - background: linear-gradient( - 90deg, - #${palette.base02}, - #${palette.base00}, - #${palette.base00}, - #${palette.base00}, - #${palette.base00}, - #${palette.base02} - ); - background-size: 400% 100%; - animation: grey-gradient 3s linear infinite; - transition: all 0.3s ease; - } - - @keyframes grey-gradient { - 0% { - background-position: 100% 50%; - } - 100% { - background-position: -33% 50%; - } - } - - #tray menu { - background-color: #${palette.base00}; - opacity: 0.8; - } - - #pulseaudio.muted { - color: #${palette.base08}; - padding-right: 16px; - } - - #custom-notification.collapsed, - #custom-notification.waiting_done { - min-width: 12px; - padding-right: 17px; - } - - #custom-notification.waiting_start, - #custom-notification.expanded { - background-color: transparent; - background: linear-gradient( - 90deg, - #${palette.base02}, - #${palette.base00}, - #${palette.base00}, - #${palette.base00}, - #${palette.base00}, - #${palette.base02} - ); - background-size: 400% 100%; - animation: grey-gradient 3s linear infinite; - min-width: 500px; - border-radius: 17px; - } - ''; - onChange = '' - ${pkgs.busybox}/bin/pkill -SIGUSR2 waybar - ''; - }; - }; -} diff --git a/modules/nixos/desktop/addons/wlogout/default.nix b/modules/nixos/desktop/addons/wlogout/default.nix deleted file mode 100644 index d38fa2f..0000000 --- a/modules/nixos/desktop/addons/wlogout/default.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.desktop.addons.wlogout; - inherit (inputs.nix-colors.colorschemes.${builtins.toString config.desktop.colorscheme}) palette; -in { - options.desktop.addons.wlogout = with types; { - enable = mkBoolOpt false "Enable or disable wlogout."; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - wlogout - ]; - - home.configFile."wlogout/style.css".text = '' - * { - all: unset; - font-family: JetBrains Mono Nerd Font; - } - - window { - background-color: #${palette.base00}; - } - - button { - color: #${palette.base01}; - font-size: 64px; - background-color: rgba(0,0,0,0); - outline-style: none; - margin: 5px; - } - - button:focus, button:active, button:hover { - color: #${palette.base0D}; - transition: ease 0.4s; - } - ''; - - home.configFile."wlogout/layout".text = '' - { - "label" : "lock", - "action" : "gtklock", - "text" : "󰌾", - "keybind" : "" - } - { - "label" : "logout", - "action" : "loginctl terminate-user $USER", - "text" : "󰗽", - "keybind" : "" - } - { - "label" : "shutdown", - "action" : "systemctl poweroff", - "text" : "󰐥", - "keybind" : "" - } - { - "label" : "reboot", - "action" : "systemctl reboot", - "text" : "󰑓", - "keybind" : "" - } - ''; - }; -} diff --git a/modules/nixos/desktop/addons/wofi/config b/modules/nixos/desktop/addons/wofi/config deleted file mode 100644 index 7d7484c..0000000 --- a/modules/nixos/desktop/addons/wofi/config +++ /dev/null @@ -1,15 +0,0 @@ -width=900 -height=600 -location=center -show=drun -prompt=Search... -filter_rate=100 -allow_markup=true -no_actions=true -halign=fill -orientation=vertical -content_halign=fill -insensitive=true -allow_images=true -image_size=35 -gtk_dark=true diff --git a/modules/nixos/desktop/addons/wofi/default.nix b/modules/nixos/desktop/addons/wofi/default.nix deleted file mode 100644 index 3b8858e..0000000 --- a/modules/nixos/desktop/addons/wofi/default.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.desktop.addons.wofi; - inherit (inputs.nix-colors.colorschemes.${builtins.toString config.desktop.colorscheme}) palette; -in -{ - options.desktop.addons.wofi = with types; { - enable = mkBoolOpt false "Enable or disable the wofi run launcher."; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ wofi ]; - - home.configFile."wofi/config".source = ./config; - home.configFile."wofi/style.css".text = '' - window { - margin: 5px; - border: 5px solid #181926; - background-color: #${palette.base00}; - border-radius: 15px; - font-family: "JetBrainsMono"; - font-size: 14px; - } - - #input { - all: unset; - min-height: 36px; - padding: 4px 10px; - margin: 4px; - border: none; - color: #${palette.base05}; - font-weight: bold; - background-color: #${palette.base01}; - outline: none; - border-radius: 15px; - margin: 10px; - margin-bottom: 2px; - } - - #inner-box { - margin: 4px; - padding: 10px; - font-weight: bold; - border-radius: 15px; - } - - #outer-box { - margin: 0px; - padding: 3px; - border: none; - border-radius: 15px; - border: 5px solid #${palette.base01}; - } - - #scroll { - margin-top: 5px; - border: none; - border-radius: 15px; - margin-bottom: 5px; - } - - #text:selected { - color: #${palette.base01}; - margin: 0px 0px; - border: none; - border-radius: 15px; - } - - #entry { - margin: 0px 0px; - border: none; - border-radius: 15px; - background-color: transparent; - } - - #entry:selected { - margin: 0px 0px; - border: none; - border-radius: 15px; - background: #${palette.base0D}; - background-size: 400% 400%; - } - ''; - }; -} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix deleted file mode 100644 index ba00c94..0000000 --- a/modules/nixos/desktop/default.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: -with lib; -with lib.frajul; -let - inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) gtkThemeFromScheme; - cfg = config.desktop; -in -{ - options.desktop = with types; { - colorscheme = mkOpt str "catppuccin-mocha" "Theme to use for the desktop"; - autoLogin = mkBoolOpt false "Do auto login"; - }; - - config = { - prism = { - enable = true; - wallpapers = ./wallpapers; - colorscheme = inputs.nix-colors.colorschemes.${cfg.colorscheme}; - }; - - environment.variables = { - GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark"; - }; - - home.extraOptions.gtk = { - enable = true; - theme = { - name = inputs.nix-colors.colorschemes.${cfg.colorscheme}.slug; - package = gtkThemeFromScheme { scheme = inputs.nix-colors.colorschemes.${cfg.colorscheme}; }; - }; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme; - }; - }; - - services.xserver.displayManager.autoLogin = mkIf cfg.autoLogin { - enable = true; - user = config.user.name; - }; - }; -} diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix deleted file mode 100644 index ddb7046..0000000 --- a/modules/nixos/desktop/hyprland/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.desktop.hyprland; - inherit (inputs.nix-colors.colorschemes.${builtins.toString config.desktop.colorscheme}) palette; -in -{ - options.desktop.hyprland = with types; { - enable = mkBoolOpt false "Enable or disable the hyprland window manager."; - }; - - config = mkIf cfg.enable { - # Desktop additions - desktop.addons = { - waybar.enable = true; - swww.enable = true; - wofi.enable = true; - mako.enable = true; - gtklock.enable = true; - wlogout.enable = true; - }; - - apps.foot.enable = true; - - programs.hyprland.enable = true; - programs.hyprland.xwayland.enable = true; - xdg.portal.enable = true; - - environment.sessionVariables.NIXOS_OZONE_WL = "1"; # Hint electron apps to use wayland - - environment.systemPackages = with pkgs; [ - grim - slurp - swappy - imagemagick - - (writeShellScriptBin "screenshot" '' - grim -g "$(slurp)" - | convert - -shave 1x1 PNG:- | wl-copy - '') - (writeShellScriptBin "screenshot-edit" '' - wl-paste | swappy -f - - '') - - pulseaudio - ]; - - # Hyprland configuration files - home.configFile = { - "hypr/launch".source = ./launch; - "hypr/hyprland.conf".source = ./hyprland.conf; - "hypr/colors.conf" = { - text = '' - general { - col.active_border = 0xff${palette.base0C} 0xff${palette.base0D} 270deg - col.inactive_border = 0xff${palette.base00} - } - ''; - }; - }; - }; -} diff --git a/modules/nixos/desktop/hyprland/hyprland.conf b/modules/nixos/desktop/hyprland/hyprland.conf deleted file mode 100644 index c676b4f..0000000 --- a/modules/nixos/desktop/hyprland/hyprland.conf +++ /dev/null @@ -1,140 +0,0 @@ -source = ~/.config/hypr/colors.conf - -monitor=,preferred,auto,auto -monitor=Unknown-1,disable # Freaking ghost monitor after update -exec-once = exec ~/.config/hypr/launch - -input { - kb_layout = us - - follow_mouse = 1 - - touchpad { - natural_scroll = yes - } - - kb_options = caps:escape - - sensitivity = -0.5 # -1.0 - 1.0, 0 means no modification. -} - -general { - gaps_in = 5 - gaps_out = 20 - border_size = 3 - layout = dwindle -} - -decoration { - rounding = 10 - - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) -} - -animations { - enabled=1 - # bezier=overshot,0.05,0.9,0.1,1.1 - bezier=overshot,0.13,0.99,0.29,1.1 - animation=windows,1,4,overshot,slide - animation=fade,1,10,default - animation=workspaces,1,6,overshot,slide - - bezier = linear, 0.0, 0.0, 1.0, 1.iii0 - animation = borderangle, 1, 100, linear, loop -} -dwindle { - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -master { - new_is_master = true -} - -gestures { - workspace_swipe = on -} - -$mainMod = SUPER -bind = $mainMod, RETURN, exec, foot -bind = $mainMod, Q, killactive, -bind = $mainMod, SPACE, togglefloating, -bind = $mainMod, P, exec, wofi --show drun -bind = $mainMod, F, fullscreen -bind = $mainMod, TAB, pseudo - -bind = $mainMod_SHIFT, E, exec, wlogout -b 1 -p layer-shell -bind = $mainMod_SHIFT, Q, exec, gtklock -bind = $mainMod_SHIFT, C, exec, wallpaper - -bind = , code:107, exec, screenshot -bind = $mainMod, code:107, exec, screenshot-edit - -bindl = , code:127, exec, wpctl set-volume @DEFAULT_SOURCE@ 100% -bindrl = , code:127, exec, wpctl set-volume @DEFAULT_SOURCE@ 0% - -# Move focus with mainMod + arrow keys -bind = $mainMod, h, movefocus, l -bind = $mainMod, l, movefocus, r -bind = $mainMod, k, movefocus, u -bind = $mainMod, j, movefocus, d - -# Move window with mainMod_SHIFT + arrow keys -bind = $mainMod_SHIFT, h, movewindow, l -bind = $mainMod_SHIFT, l, movewindow, r -bind = $mainMod_SHIFT, k, movewindow, u -bind = $mainMod_SHIFT, j, movewindow, d - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -# Audio binds -binde=, XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% -binde=, XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% - -# Per device settings -# device:elan-touchpad { -# accel_profile = adaptive -# sensitivity = -0.3 -# } - -# Extra window rules - -# Allow hiding xwaylandvideobridge window correctly -windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ -windowrulev2 = noanim,class:^(xwaylandvideobridge)$ -windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ -windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ -windowrulev2 = noblur,class:^(xwaylandvideobridge)$ diff --git a/modules/nixos/desktop/hyprland/launch b/modules/nixos/desktop/hyprland/launch deleted file mode 100755 index 79d6764..0000000 --- a/modules/nixos/desktop/hyprland/launch +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -rm -rf $XDG_RUNTIME_DIR/swww.socket - -swww init & waybar & mako & xwaylandvideobridge diff --git a/modules/nixos/desktop/wallpapers/32j4hjkl4j4hkl.png b/modules/nixos/desktop/wallpapers/32j4hjkl4j4hkl.png deleted file mode 100644 index 00b9901..0000000 Binary files a/modules/nixos/desktop/wallpapers/32j4hjkl4j4hkl.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/Bridge.jpg b/modules/nixos/desktop/wallpapers/Bridge.jpg deleted file mode 100644 index 947a2ce..0000000 Binary files a/modules/nixos/desktop/wallpapers/Bridge.jpg and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/astronaut.png b/modules/nixos/desktop/wallpapers/astronaut.png deleted file mode 100644 index add3369..0000000 Binary files a/modules/nixos/desktop/wallpapers/astronaut.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/astronaut_ultra.png b/modules/nixos/desktop/wallpapers/astronaut_ultra.png deleted file mode 100644 index 80f1a71..0000000 Binary files a/modules/nixos/desktop/wallpapers/astronaut_ultra.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/babel.png b/modules/nixos/desktop/wallpapers/babel.png deleted file mode 100644 index ab9d75b..0000000 Binary files a/modules/nixos/desktop/wallpapers/babel.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/blockwavemoon.png b/modules/nixos/desktop/wallpapers/blockwavemoon.png deleted file mode 100644 index ec28555..0000000 Binary files a/modules/nixos/desktop/wallpapers/blockwavemoon.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/cat_Japanese_Neon.png b/modules/nixos/desktop/wallpapers/cat_Japanese_Neon.png deleted file mode 100644 index 3ac3ced..0000000 Binary files a/modules/nixos/desktop/wallpapers/cat_Japanese_Neon.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/cat_leaves.png b/modules/nixos/desktop/wallpapers/cat_leaves.png deleted file mode 100644 index ace8c2c..0000000 Binary files a/modules/nixos/desktop/wallpapers/cat_leaves.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/colorful-planets.jpg b/modules/nixos/desktop/wallpapers/colorful-planets.jpg deleted file mode 100644 index 3881e56..0000000 Binary files a/modules/nixos/desktop/wallpapers/colorful-planets.jpg and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/finalizer.png b/modules/nixos/desktop/wallpapers/finalizer.png deleted file mode 100644 index 661b35b..0000000 Binary files a/modules/nixos/desktop/wallpapers/finalizer.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/gruv-material.png b/modules/nixos/desktop/wallpapers/gruv-material.png deleted file mode 100644 index 6d4ce32..0000000 Binary files a/modules/nixos/desktop/wallpapers/gruv-material.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/ign-0002.png b/modules/nixos/desktop/wallpapers/ign-0002.png deleted file mode 100644 index cc2b74c..0000000 Binary files a/modules/nixos/desktop/wallpapers/ign-0002.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/ign-0008.png b/modules/nixos/desktop/wallpapers/ign-0008.png deleted file mode 100644 index cb9ee96..0000000 Binary files a/modules/nixos/desktop/wallpapers/ign-0008.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/ign-0011.png b/modules/nixos/desktop/wallpapers/ign-0011.png deleted file mode 100644 index 64f5ef2..0000000 Binary files a/modules/nixos/desktop/wallpapers/ign-0011.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/ign_car.png b/modules/nixos/desktop/wallpapers/ign_car.png deleted file mode 100644 index 8a6ba2a..0000000 Binary files a/modules/nixos/desktop/wallpapers/ign_car.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/ign_city.png b/modules/nixos/desktop/wallpapers/ign_city.png deleted file mode 100644 index aa651d5..0000000 Binary files a/modules/nixos/desktop/wallpapers/ign_city.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/ign_cityRainOther.png b/modules/nixos/desktop/wallpapers/ign_cityRainOther.png deleted file mode 100644 index c80358a..0000000 Binary files a/modules/nixos/desktop/wallpapers/ign_cityRainOther.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/ign_herakles.png b/modules/nixos/desktop/wallpapers/ign_herakles.png deleted file mode 100644 index 130fd67..0000000 Binary files a/modules/nixos/desktop/wallpapers/ign_herakles.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/ign_stuff.png b/modules/nixos/desktop/wallpapers/ign_stuff.png deleted file mode 100644 index abe5ff8..0000000 Binary files a/modules/nixos/desktop/wallpapers/ign_stuff.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/ign_unsplash16.png b/modules/nixos/desktop/wallpapers/ign_unsplash16.png deleted file mode 100644 index 8d833b0..0000000 Binary files a/modules/nixos/desktop/wallpapers/ign_unsplash16.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/koi2.png b/modules/nixos/desktop/wallpapers/koi2.png deleted file mode 100644 index f621c5e..0000000 Binary files a/modules/nixos/desktop/wallpapers/koi2.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png b/modules/nixos/desktop/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png deleted file mode 100644 index aa0e2ab..0000000 Binary files a/modules/nixos/desktop/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/nord_buildings.png b/modules/nixos/desktop/wallpapers/nord_buildings.png deleted file mode 100644 index 823e15d..0000000 Binary files a/modules/nixos/desktop/wallpapers/nord_buildings.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/outer-space.png b/modules/nixos/desktop/wallpapers/outer-space.png deleted file mode 100644 index 1397ef9..0000000 Binary files a/modules/nixos/desktop/wallpapers/outer-space.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/platform.jpg b/modules/nixos/desktop/wallpapers/platform.jpg deleted file mode 100644 index 7f25bcf..0000000 Binary files a/modules/nixos/desktop/wallpapers/platform.jpg and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/result2.png b/modules/nixos/desktop/wallpapers/result2.png deleted file mode 100644 index b04d98a..0000000 Binary files a/modules/nixos/desktop/wallpapers/result2.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/result5.png b/modules/nixos/desktop/wallpapers/result5.png deleted file mode 100644 index 4585d77..0000000 Binary files a/modules/nixos/desktop/wallpapers/result5.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/rolly.png b/modules/nixos/desktop/wallpapers/rolly.png deleted file mode 100644 index 98da241..0000000 Binary files a/modules/nixos/desktop/wallpapers/rolly.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/rose_pine_contourline.png b/modules/nixos/desktop/wallpapers/rose_pine_contourline.png deleted file mode 100644 index 76dfe3c..0000000 Binary files a/modules/nixos/desktop/wallpapers/rose_pine_contourline.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/rose_pine_shape.png b/modules/nixos/desktop/wallpapers/rose_pine_shape.png deleted file mode 100644 index f826fd5..0000000 Binary files a/modules/nixos/desktop/wallpapers/rose_pine_shape.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/shiny-colors.png b/modules/nixos/desktop/wallpapers/shiny-colors.png deleted file mode 100644 index 0d9b1dc..0000000 Binary files a/modules/nixos/desktop/wallpapers/shiny-colors.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/skullcat.png b/modules/nixos/desktop/wallpapers/skullcat.png deleted file mode 100644 index 2c6eace..0000000 Binary files a/modules/nixos/desktop/wallpapers/skullcat.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/space324dhsj.png b/modules/nixos/desktop/wallpapers/space324dhsj.png deleted file mode 100644 index dd869d1..0000000 Binary files a/modules/nixos/desktop/wallpapers/space324dhsj.png and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/spiral.jpg b/modules/nixos/desktop/wallpapers/spiral.jpg deleted file mode 100644 index e63e6c3..0000000 Binary files a/modules/nixos/desktop/wallpapers/spiral.jpg and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/spooky_spill.jpg b/modules/nixos/desktop/wallpapers/spooky_spill.jpg deleted file mode 100644 index 9d50882..0000000 Binary files a/modules/nixos/desktop/wallpapers/spooky_spill.jpg and /dev/null differ diff --git a/modules/nixos/desktop/wallpapers/wallpaper.jpg b/modules/nixos/desktop/wallpapers/wallpaper.jpg deleted file mode 100644 index 6c97d3b..0000000 Binary files a/modules/nixos/desktop/wallpapers/wallpaper.jpg and /dev/null differ diff --git a/modules/nixos/hardware/audio/default.nix b/modules/nixos/hardware/audio/default.nix deleted file mode 100644 index 1e27a11..0000000 --- a/modules/nixos/hardware/audio/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.hardware.audio; -in { - options.hardware.audio = with types; { - enable = mkBoolOpt false "Enable pipewire"; - }; - - config = mkIf cfg.enable { - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - wireplumber.enable = true; - jack.enable = true; - pulse.enable = true; - }; - programs.noisetorch.enable = true; - - environment.systemPackages = with pkgs; [ - pavucontrol - ]; - }; -} diff --git a/modules/nixos/hardware/networking/default.nix b/modules/nixos/hardware/networking/default.nix deleted file mode 100644 index 40140eb..0000000 --- a/modules/nixos/hardware/networking/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.hardware.networking; -in { - options.hardware.networking = with types; { - enable = mkBoolOpt false "Enable networkmanager"; - }; - - config = mkIf cfg.enable { - networking.networkmanager.enable = true; - environment.persist.directories = [ - "/etc/NetworkManager" - ]; - }; -} diff --git a/modules/nixos/hardware/nvidia/default.nix b/modules/nixos/hardware/nvidia/default.nix deleted file mode 100644 index 6ffe3d8..0000000 --- a/modules/nixos/hardware/nvidia/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.hardware.nvidia; -in { - options.hardware.nvidia = with types; { - enable = mkBoolOpt false "Enable drivers and patches for Nvidia hardware."; - }; - - config = mkIf cfg.enable { - services.xserver.videoDrivers = ["nvidia"]; - hardware.nvidia.modesetting.enable = true; - - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.production; - - environment.variables = { - CUDA_CACHE_PATH = "$XDG_CACHE_HOME/nv"; - }; - environment.shellAliases = {nvidia-settings = "nvidia-settings --config='$XDG_CONFIG_HOME'/nvidia/settings";}; - - # Hyprland settings - environment.sessionVariables.WLR_NO_HARDWARE_CURSORS = "1"; # Fix cursor rendering issue on wlr nvidia. - }; -} diff --git a/modules/nixos/home/default.nix b/modules/nixos/home/default.nix deleted file mode 100644 index ed19d47..0000000 --- a/modules/nixos/home/default.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ - options, - config, - lib, - inputs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.modules.nixos.home; -in -{ - imports = with inputs; [ - home-manager.nixosModules.home-manager - nix-colors.homeManagerModules.default - prism.homeModules.prism - ]; - - options.modules.nixos.home = with types; { - enable = mkBoolOpt false "Enable or disable nixos home"; - }; - - options.home = with types; { - file = mkOpt attrs { } "A set of files to be managed by home-manager's ."; - configFile = - mkOpt attrs { } - "A set of files to be managed by home-manager's ."; - programs = mkOpt attrs { } "Programs to be managed by home-manager."; - extraOptions = mkOpt attrs { } "Options to pass directly to home-manager."; - - persist = mkOpt attrs { } "Files and directories to persist in the home"; - }; - - config = mkIf cfg.enable { - home.extraOptions = { - home.stateVersion = config.system.stateVersion; - home.file = mkAliasDefinitions options.home.file; - xdg.enable = true; - xdg.configFile = mkAliasDefinitions options.home.configFile; - programs = mkAliasDefinitions options.home.programs; - }; - - home-manager = { - useUserPackages = true; - - users.${config.user.name} = mkAliasDefinitions options.home.extraOptions; - }; - - environment.persistence."/persist".users.${config.user.name} = mkIf options.impermanence.enable.value ( - mkAliasDefinitions options.home.persist - ); - }; -} diff --git a/modules/nixos/impermanence/default.nix b/modules/nixos/impermanence/default.nix deleted file mode 100644 index 5b0036e..0000000 --- a/modules/nixos/impermanence/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ - options, - config, - lib, - inputs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.impermanence; -in { - imports = with inputs; [ - impermanence.nixosModules.impermanence - persist-retro.nixosModules.persist-retro - ]; - options.impermanence = with types; { - enable = mkBoolOpt false "Enable impermanence"; - removeTmpFilesOlderThan = mkOpt int 14 "Number of days to keep old btrfs_tmp files"; - }; - - options.environment = with types; { - persist = mkOpt attrs {} "Files and directories to persist in the home"; - }; - - config = { - # This script does the actual wipe of the system - # So if it doesn't run, the btrfs system effectively acts like a normal system - boot.initrd.postDeviceCommands = mkIf cfg.enable (lib.mkAfter '' - mkdir /btrfs_tmp - mount /dev/pool/root /btrfs_tmp - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +${builtins.toString cfg.removeTmpFilesOlderThan}); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''); - - environment.persistence."/persist" = mkIf cfg.enable (mkAliasDefinitions options.environment.persist); - }; -} diff --git a/modules/nixos/services/arion/filebrowser/default.nix b/modules/nixos/services/arion/filebrowser/default.nix deleted file mode 100644 index 593c498..0000000 --- a/modules/nixos/services/arion/filebrowser/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.services.arion.filebrowser; -in { - options.services.arion.filebrowser = with types; { - enable = mkBoolOpt false "Enable the filebrowser docker service"; - }; - - config = mkIf cfg.enable { - virtualisation.arion.enable = true; - virtualisation.arion.projects.filebrowser.settings = { - project.name = "filebrowser"; - services.filebrowser.service = { - image = "filebrowser/filebrowser"; - ports = [ - "8080:80" - ]; - volumes = [ - "/home/${config.user.name}:/srv" - ]; - }; - }; - }; -} diff --git a/modules/nixos/services/arion/jellyfin/default.nix b/modules/nixos/services/arion/jellyfin/default.nix deleted file mode 100644 index fdcf750..0000000 --- a/modules/nixos/services/arion/jellyfin/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.services.arion.jellyfin; -in { - options.services.arion.jellyfin = with types; { - enable = mkBoolOpt false "Enable jellyfin"; - }; - - config = mkIf cfg.enable { - virtualisation.arion.enable = true; - virtualisation.arion.projects.jellyfin.settings = { - project.name = "jellyfin"; - services.jellyfin.service = { - image = "jellyfin/jellyfin"; - ports = [ - "8096:8096" - ]; - volumes = [ - "/home/${config.user.name}/.local/share/jellyfin/config:/config" - "/home/${config.user.name}/.local/share/jellyfin/cache:/cache" - "/home/${config.user.name}/.local/share/jellyfin/media:/media" - ]; - }; - }; - - home.persist.directories = [ - ".local/share/jellyfin/config" - ".local/share/jellyfin/cache" - ]; - }; -} diff --git a/modules/nixos/services/arion/servers/terraria/default.nix b/modules/nixos/services/arion/servers/terraria/default.nix deleted file mode 100644 index bc2937b..0000000 --- a/modules/nixos/services/arion/servers/terraria/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.services.arion.terraria.vanilla; -in { - options.services.arion.terraria.vanilla = with types; { - enable = mkBoolOpt false ""; - }; - - config = mkIf cfg.enable { - virtualisation.arion.enable = true; - virtualisation.arion.projects.terraria-vanilla.settings = { - project.name = "vanilla"; - services.terraria.service = { - image = "ryshe/terraria:latest"; - environment = { - WORLD_FILENAME = "world.wld"; - CONFIGPATH = "config.json"; - }; - ports = [ - "7777:7777" - ]; - volumes = [ - "/home/${config.user.name}/.local/share/terraria/vanilla/worlds:/root/.local/share/Terraria/Worlds" - ]; - # For the first run you will need to generate a new world with a size where: 1 = Small, 2=Medium, 3=Large - command = [ - "-autocreate" - "2" - ]; - }; - services.ngrok.service = { - image = "ngrok/ngrok"; - env_file = ["${config.sops.secrets."ngrok/terraria".path}"]; - command = ["tcp" "terraria:7777"]; - }; - }; - - home.persist.directories = [ - ".local/share/terraria/vanilla/worlds" - ]; - }; -} diff --git a/modules/nixos/services/arion/windows/default.nix b/modules/nixos/services/arion/windows/default.nix deleted file mode 100644 index 875bfd3..0000000 --- a/modules/nixos/services/arion/windows/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.services.arion.windows; -in { - options.services.arion.windows = with types; { - enable = mkBoolOpt false "Enable the windows docker service"; - }; - - config = mkIf cfg.enable { - virtualisation.arion.enable = true; - virtualisation.arion.projects.windows.settings = { - project.name = "windows"; - services.windows.service = { - image = "dockurr/windows"; - environment.VERSION = "win11"; - ports = [ - "8006:8006" - "3389:3389/tcp" - "3389:3389/udp" - ]; - devices = [ - "/dev/kvm" - ]; - capabilities = { - NET_ADMIN = true; - }; - stop_grace_period = "2m"; - volumes = [ - "/home/${config.user.name}:/srv" - ]; - }; - }; - }; -} diff --git a/modules/nixos/services/internalDomain/default.nix b/modules/nixos/services/internalDomain/default.nix deleted file mode 100644 index 7a615bc..0000000 --- a/modules/nixos/services/internalDomain/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.services.internalDomain; -in { - options.services.internalDomain = with types; { - enable = mkBoolOpt false "Enable dnsmasq, a custom internalDomain server"; - domain = mkOpt str "home.lan" "Internal Domain to use, defaults to home.lan"; - reverseProxyIp = mkOpt str "127.0.0.1" "IP address for the reverse proxy"; - }; - - config = - (mkIf cfg.enable { - services.caddy.enable = true; - - services.caddy.virtualHosts."*.home.lan".extraConfig = '' - tls internal - ''; - - networking.firewall.allowedTCPPorts = [53]; - networking.firewall.allowedUDPPorts = [53]; - - services.dnsmasq = { - enable = true; - resolveLocalQueries = true; - alwaysKeepRunning = true; - settings = { - server = ["9.9.9.9"]; - inherit (cfg) domain; - local = "/${cfg.domain}/"; - - bogus-priv = true; - expand-hosts = true; - no-hosts = true; - domain-needed = true; - no-resolv = true; - no-poll = true; - - address = [ - "/${cfg.domain}/${cfg.reverseProxyIp}" - ]; - }; - }; - }) - // { - }; -} diff --git a/modules/nixos/services/ssh/default.nix b/modules/nixos/services/ssh/default.nix deleted file mode 100644 index e051f6e..0000000 --- a/modules/nixos/services/ssh/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.services.ssh; -in -{ - options.services.ssh = with types; { - enable = mkBoolOpt false "Enable ssh"; - }; - - config = mkIf cfg.enable { - services.openssh = { - enable = true; - ports = [ 22 ]; - - passwordAuthentication = false; - }; - - users.users = { - root.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9nKsW0v9SMQo86fxHlX5gnS/ELlWqAS/heyzZ+oPzd iogamastercode@gmail.com" - ]; - ${config.user.name}.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9nKsW0v9SMQo86fxHlX5gnS/ELlWqAS/heyzZ+oPzd iogamastercode@gmail.com" - ]; - }; - - home.file.".ssh/config".text = '' - identityfile ~/.ssh/key - ''; - - home.persist.directories = [ ".ssh" ]; - - environment.persist.directories = [ "/root/ssh" ]; - - environment.persist.files = [ - "/etc/machine-id" - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; -} diff --git a/modules/nixos/sops/default.nix b/modules/nixos/sops/default.nix index 25b3649..08436dc 100644 --- a/modules/nixos/sops/default.nix +++ b/modules/nixos/sops/default.nix @@ -24,23 +24,23 @@ let cfg = config.modules.sops; in { - # imports = [ inputs.sops-nix.nixosModules.sops ]; + imports = [ inputs.sops-nix.nixosModules.sops ]; - # options.modules.sops = { }; + options.modules.sops = { }; - # config = { - #sops.defaultSopsFile = ../../../secrets/secrets.yaml; - #sops.defaultSopsFormat = "yaml"; - #sops.age.keyFile = "/home/julian/.config/sops/age/keys.txt"; + config = { + #sops.defaultSopsFile = ../../../secrets/secrets.yaml; + #sops.defaultSopsFormat = "yaml"; + #sops.age.keyFile = "/home/julian/.config/sops/age/keys.txt"; - # List of defined secrets - #sops.secrets."aspi/password" = { - # neededForUsers = true; - #}; + # List of defined secrets + #sops.secrets."aspi/password" = { + # neededForUsers = true; + #}; - # sops.secrets."aspi/syncthing/key" = { - # neededForUsers = true; - # }; - # sops.secrets."ngrok/terraria" = { }; - # }; + # sops.secrets."aspi/syncthing/key" = { + # neededForUsers = true; + # }; + # sops.secrets."ngrok/terraria" = { }; + }; } diff --git a/modules/nixos/suites/common/default.nix b/modules/nixos/suites/common/default.nix deleted file mode 100644 index b7f2fb4..0000000 --- a/modules/nixos/suites/common/default.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.suites.common; -in -{ - options.suites.common = with types; { - enable = mkBoolOpt false "Enable the common suite"; - }; - - config = mkIf cfg.enable { - system.nix.enable = true; - system.security.doas.enable = true; - - hardware.audio.enable = true; - hardware.networking.enable = true; - - apps.misc.enable = true; - - hardware.bluetooth.enable = true; - hardware.bluetooth.settings = { - General = { - FastConnectable = true; - JustWorksRepairing = "always"; - Privacy = "device"; - }; - Policy = { - AutoEnable = true; - }; - inputs = { - UserSpaceHID = true; - }; - }; - - environment.persist.directories = [ "/etc/bluetooth" ]; - - apps.pass.enable = true; - apps.tools.git.enable = true; - apps.tools.nix-ld.enable = true; - - services.ssh.enable = true; - - programs.dconf.enable = true; - - environment.systemPackages = [ - pkgs.bluetuith - pkgs.nh # pkgs.custom.sys - pkgs.deploy-rs - ]; - - system = { - fonts.enable = true; - locale.enable = true; - time.enable = true; - xkb.enable = true; - }; - }; -} diff --git a/modules/nixos/suites/desktop/default.nix b/modules/nixos/suites/desktop/default.nix deleted file mode 100644 index 7d3429e..0000000 --- a/modules/nixos/suites/desktop/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.suites.desktop; -in -{ - options.suites.desktop = with types; { - enable = mkBoolOpt false "Enable the desktop suite"; - }; - - config = mkIf cfg.enable { - desktop.hyprland.enable = true; - apps.firefox.enable = true; - apps.discord.enable = true; - - apps.tools.gnupg.enable = true; - apps.pass.enable = true; - - suites.common.enable = true; - - services.flatpak.enable = true; - - services.xserver = { - enable = true; - displayManager.gdm.enable = true; - }; - - environment.persist.directories = [ "/etc/gdm" ]; - - environment.systemPackages = with pkgs; [ - cinnamon.nemo - xclip - xarchiver - ]; - }; -} diff --git a/modules/nixos/suites/development/default.nix b/modules/nixos/suites/development/default.nix deleted file mode 100644 index 7937c97..0000000 --- a/modules/nixos/suites/development/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.suites.development; -in { - options.suites.development = with types; { - enable = mkBoolOpt false "Enable the development suite"; - }; - - config = mkIf cfg.enable { - apps.neovim.enable = true; - apps.tools.direnv.enable = true; - - apps.misc.enable = true; - - home.configFile."nix-init/config.toml".text = '' - maintainers = ["iogamaster"] - commit = true - ''; - - environment.systemPackages = with pkgs; [ - licensor - - # Nix Utils - nix-index - nix-init - nix-melt - nix-update - nixpkgs-fmt - nixpkgs-hammering - nixpkgs-review - nurl - ]; - }; -} diff --git a/modules/nixos/suites/editing/default.nix b/modules/nixos/suites/editing/default.nix deleted file mode 100644 index 6c7528f..0000000 --- a/modules/nixos/suites/editing/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.suites.editing; -in { - options.suites.editing = with types; { - enable = mkBoolOpt false "Enable the editing suite"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - obs-studio - audacity - chromium - inkscape - mediainfo - vhs - ]; - - # OBS - boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback]; - boot.kernelModules = [ - "v4l2loopback" - ]; - - home.persist.directories = [ - ".config/obs-studio" - ]; - }; -} diff --git a/modules/nixos/suites/gaming/default.nix b/modules/nixos/suites/gaming/default.nix deleted file mode 100644 index de6a691..0000000 --- a/modules/nixos/suites/gaming/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.suites.gaming; -in -{ - imports = with inputs; [ dzgui-nix.nixosModules.default ]; - options.suites.gaming = with types; { - enable = mkBoolOpt false "Enable the gaming suite"; - }; - - config = mkIf cfg.enable { - apps.steam.enable = true; - - hardware.opengl = { - enable = true; - driSupport32Bit = true; - extraPackages = with pkgs; [ - intel-media-driver - intel-ocl - vaapiIntel - ]; - }; - - programs.dzgui.enable = true; - - environment.systemPackages = [ - pkgs.prismlauncher - pkgs.lutris - pkgs.heroic - - pkgs.gamemode - pkgs.mangohud - - pkgs.gamescope - - # pkgs.custom.relive - - pkgs.r2modman - - pkgs.bottles - ]; - - home.persist.directories = [ - ".config/r2modman" - ".config/r2modmanPlus-local" - ".config/dztui" - ".local/share/lutris" - ".local/share/aspyr-media" - ".local/share/bottles" - ".local/share/PrismLauncher" - ".local/share/dzgui" - "Games" - ]; - }; -} diff --git a/modules/nixos/suites/server/default.nix b/modules/nixos/suites/server/default.nix deleted file mode 100644 index b328931..0000000 --- a/modules/nixos/suites/server/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.suites.server; -in { - options.suites.server = with types; { - enable = mkBoolOpt false "Enable the server suite"; - }; - - config = mkIf cfg.enable { - suites.common.enable = true; - suites.development.enable = true; - environment.systemPackages = with pkgs; []; - }; -} diff --git a/modules/nixos/system/battery/default.nix b/modules/nixos/system/battery/default.nix deleted file mode 100644 index 448d4ef..0000000 --- a/modules/nixos/system/battery/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.modules.system.battery; -in -{ - options.modules.system.battery = with types; { - enable = mkBoolOpt false "Whether or not to enable battery optimizations and utils."; - }; - - config = mkIf cfg.enable { - # Better scheduling for CPU cycles - thanks System76!!! - services.system76-scheduler.settings.cfsProfiles.enable = true; - - # Enable TLP (better than gnomes internal power manager) - services.tlp = { - enable = true; - settings = { - CPU_BOOST_ON_AC = 0; - CPU_BOOST_ON_BAT = 0; - CPU_SCALING_GOVERNOR_ON_AC = "powersave"; - CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; - }; - }; - - # Disable GNOMEs power management - services.power-profiles-daemon.enable = false; - - # Enable powertop - powerManagement.powertop.enable = true; - - # Enable thermald (only necessary if on Intel CPUs) - services.thermald.enable = true; - }; -} diff --git a/modules/nixos/system/boot/bios/default.nix b/modules/nixos/system/boot/bios/default.nix deleted file mode 100644 index 3cf6129..0000000 --- a/modules/nixos/system/boot/bios/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.modules.system.boot.bios; -in -{ - options.modules.system.boot.bios = with types; { - enable = mkBoolOpt false "Whether or not to enable bios booting."; - device = mkOpt str "/dev/sda" "Disk that grub will be installed to."; - }; - - config = mkIf cfg.enable { - boot.loader.grub = { - enable = true; - }; - }; -} diff --git a/modules/nixos/system/boot/efi/default.nix b/modules/nixos/system/boot/efi/default.nix deleted file mode 100644 index 343be7a..0000000 --- a/modules/nixos/system/boot/efi/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.modules.system.boot.efi; -in -{ - options.modules.system.boot.efi = with types; { - enable = mkBoolOpt false "Whether or not to enable efi booting."; - }; - - config = mkIf cfg.enable { - boot.loader.systemd-boot.enable = true; - boot.loader.systemd-boot.configurationLimit = 5; - boot.loader.efi.canTouchEfiVariables = true; - - # https://github.com/NixOS/nixpkgs/blob/c32c39d6f3b1fe6514598fa40ad2cf9ce22c3fb7/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix#L66 - boot.loader.systemd-boot.editor = false; - }; -} diff --git a/modules/nixos/system/env/default.nix b/modules/nixos/system/env/default.nix deleted file mode 100644 index 31ec8b7..0000000 --- a/modules/nixos/system/env/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.system.env; -in { - options.system.env = with types; - mkOption { - type = attrsOf (oneOf [str path (listOf (either str path))]); - apply = mapAttrs (_n: v: - if isList v - then concatMapStringsSep ":" toString v - else (toString v)); - default = {}; - description = "A set of environment variables to set."; - }; - - config = { - environment = { - sessionVariables = { - XDG_CACHE_HOME = "$HOME/.cache"; - XDG_CONFIG_HOME = "$HOME/.config"; - XDG_DATA_HOME = "$HOME/.local/share"; - XDG_BIN_HOME = "$HOME/.local/bin"; - # To prevent firefox from creating ~/Desktop. - XDG_DESKTOP_DIR = "$HOME"; - }; - variables = { - # Make some programs "XDG" compliant. - LESSHISTFILE = "$XDG_CACHE_HOME/less.history"; - WGETRC = "$XDG_CONFIG_HOME/wgetrc"; - }; - extraInit = - concatStringsSep "\n" - (mapAttrsToList (n: v: ''export ${n}="${v}"'') cfg); - }; - }; -} diff --git a/modules/nixos/system/fonts/default.nix b/modules/nixos/system/fonts/default.nix deleted file mode 100644 index 40fc04d..0000000 --- a/modules/nixos/system/fonts/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.system.fonts; -in { - options.system.fonts = with types; { - enable = mkBoolOpt false "Whether or not to manage fonts."; - fonts = mkOpt (listOf package) [] "Custom font packages to install."; - }; - - config = mkIf cfg.enable { - environment.variables = { - # Enable icons in tooling since we have nerdfonts. - LOG_ICONS = "true"; - }; - - environment.systemPackages = with pkgs; [font-manager]; - - fonts.packages = with pkgs; - [ - noto-fonts - noto-fonts-cjk-sans - noto-fonts-cjk-serif - noto-fonts-emoji - (nerdfonts.override {fonts = ["JetBrainsMono"];}) - ] - ++ cfg.fonts; - }; -} diff --git a/modules/nixos/system/locale/default.nix b/modules/nixos/system/locale/default.nix deleted file mode 100644 index 3120c3a..0000000 --- a/modules/nixos/system/locale/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.system.locale; -in { - options.system.locale = with types; { - enable = mkBoolOpt false "Whether or not to manage locale settings."; - }; - - config = mkIf cfg.enable { - i18n.defaultLocale = "en_US.UTF-8"; - - console = {keyMap = mkForce "us";}; - }; -} diff --git a/modules/nixos/system/nix/default.nix b/modules/nixos/system/nix/default.nix deleted file mode 100644 index 5ee1e1c..0000000 --- a/modules/nixos/system/nix/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.system.nix; -in -{ - options.system.nix = with types; { - enable = mkBoolOpt false "Whether or not to manage nix configuration."; - package = mkOpt package pkgs.nixVersions.latest "Which nix package to use."; - extraUsers = mkOpt (listOf str) [ ] "Extra users to trust"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - nil - nixfmt-rfc-style - nix-index - nix-prefetch-git - ]; - - nix = - let - users = [ - "root" - config.user.name - ]; - in - { - inherit (cfg) package; - - settings = - { - experimental-features = "nix-command flakes"; - http-connections = 50; - warn-dirty = false; - log-lines = 50; - sandbox = "relaxed"; - auto-optimise-store = true; - trusted-users = users ++ cfg.extraUsers; - allowed-users = users; - } - // (lib.optionalAttrs config.apps.tools.direnv.enable { - keep-outputs = true; - keep-derivations = true; - }); - - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - - # flake-utils-plus - generateRegistryFromInputs = true; - generateNixPathFromInputs = true; - linkInputs = true; - }; - }; -} diff --git a/modules/nixos/system/security/doas/default.nix b/modules/nixos/system/security/doas/default.nix deleted file mode 100644 index 9c04aaa..0000000 --- a/modules/nixos/system/security/doas/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.system.security.doas; -in { - options.system.security.doas = { - enable = mkBoolOpt false "Whether or not to replace sudo with doas."; - }; - - config = mkIf cfg.enable { - # Disable sudo - security.sudo.enable = false; - - # Enable and configure `doas`. - security.doas = { - enable = true; - extraRules = [ - { - users = [config.user.name]; - noPass = true; - keepEnv = true; - } - ]; - }; - - # Add an alias to the shell for backward-compat and convenience. - environment.shellAliases = {sudo = "doas";}; - }; -} diff --git a/modules/nixos/system/security/lockdown/default.nix b/modules/nixos/system/security/lockdown/default.nix deleted file mode 100644 index 9705826..0000000 --- a/modules/nixos/system/security/lockdown/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.system.security.lockdown; -in -{ - options.system.security.lockdown = { - enable = mkBoolOpt false "Whether or not to lockdown the system for maximum security"; - }; - - config = mkIf cfg.enable { - # Ripped from: - # https://xeiaso.net/blog/paranoid-nixos-2021-07-18/ - - nix.allowedUsers = [ "@wheel" ]; - environment.defaultPackages = lib.mkForce [ ]; # Heres a great little piece, it disables any non defined packages for this system - - services.openssh = { - settings.passwordAuthentication = false; - allowSFTP = false; # Don't set this if you need sftp - challengeResponseAuthentication = false; - extraConfig = '' - AllowTcpForwarding yes - X11Forwarding no - AllowAgentForwarding no - AllowStreamLocalForwarding no - AuthenticationMethods publickey - ''; - }; - - fileSystems."/".options = [ "noexec" ]; - fileSystems."/etc/nixos".options = [ "noexec" ]; - fileSystems."/srv".options = [ "noexec" ]; - fileSystems."/var/log".options = [ "noexec" ]; - - environment.systemPackages = with pkgs; [ clamav ]; # PCI Compliance - }; -} diff --git a/modules/nixos/system/security/sops/default.nix b/modules/nixos/system/security/sops/default.nix deleted file mode 100644 index 707d17a..0000000 --- a/modules/nixos/system/security/sops/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - config, - lib, - inputs, - pkgs, - ... -}: -with lib; -with lib.frajul; -{ - imports = with inputs; [ sops-nix.nixosModules.sops ]; - - config = { - sops.defaultSopsFile = ../../../../../secrets/secrets.yaml; - sops.defaultSopsFormat = "yaml"; - - sops.age.keyFile = "/home/${config.user.name}/.config/sops/age/keys.txt"; - - home.persist.directories = [ ".config/sops" ]; - - environment.systemPackages = with pkgs; [ - (writeShellScriptBin "sops" '' - EDITOR=${config.environment.variables.EDITOR} ${pkgs.sops}/bin/sops $@ - '') - age - ]; - - # List of defined secrets - # sops.secrets."system/password" = {neededForUsers = true;}; - # sops.secrets."ngrok/terraria" = {}; - }; -} diff --git a/modules/nixos/system/shell/default.nix b/modules/nixos/system/shell/default.nix deleted file mode 100644 index f41878e..0000000 --- a/modules/nixos/system/shell/default.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ - options, - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.system.shell; -in { - options.system.shell = with types; { - shell = mkOpt (enum ["nushell" "fish"]) "nushell" "What shell to use"; - }; - - config = { - environment.systemPackages = with pkgs; [ - eza - bat - nitch - zoxide - starship - ]; - - users.defaultUserShell = pkgs.${cfg.shell}; - users.users.root.shell = pkgs.bashInteractive; - - home.programs.starship = { - enable = true; - enableFishIntegration = true; - enableNushellIntegration = true; - }; - home.configFile."starship.toml".source = ./starship.toml; - - environment.shellAliases = { - ".." = "cd .."; - neofetch = "nitch"; - }; - - home.programs.zoxide = { - enable = true; - enableNushellIntegration = true; - }; - - home.persist.directories = [ - ".local/share/zoxide" - ".cache/zoxide" - ".cache/starship" - ".config/nushell" - ".config/fish" - ]; - - # Actual Shell Configurations - home.programs.fish = mkIf (cfg.shell == "fish") { - enable = true; - shellAliases = { - ls = "eza -la --icons --no-user --no-time --git -s type"; - cat = "bat"; - }; - shellInit = '' - ${mkIf apps.tools.direnv.enable '' - direnv hook fish | source - ''} - - zoxide init fish | source - - function , --description 'add software to shell session' - NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ALLOW_BROKEN=1 nix shell nixpkgs#$argv[1..-1] --impure - end - ''; - }; - - # Enable all if nushell - home.programs.nushell = mkIf (cfg.shell == "nushell") { - enable = true; - shellAliases = config.environment.shellAliases // {ls = "ls";}; - envFile.text = ""; - extraConfig = '' - $env.config = { - show_banner: false, - } - - def , [...packages] { - NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ALLOW_BROKEN=1 nix shell ...($packages | each {|s| $"nixpkgs#($s)"}) --impure - } - ''; - }; - }; -} diff --git a/modules/nixos/system/shell/starship.toml b/modules/nixos/system/shell/starship.toml deleted file mode 100644 index 1bcd11f..0000000 --- a/modules/nixos/system/shell/starship.toml +++ /dev/null @@ -1,75 +0,0 @@ -[aws] -symbol = " " - -[buf] -symbol = " " - -[c] -symbol = " " - -[dart] -symbol = " " - -[directory] -read_only = " " - -[docker_context] -symbol = " " - -[elixir] -symbol = " " - -[elm] -symbol = " " - -[git_branch] -symbol = " " - -[golang] -symbol = " " - -[haskell] -symbol = " " - -[hg_branch] -symbol = " " - -[java] -symbol = " " - -[julia] -symbol = " " - -[lua] -symbol = " " - -[memory_usage] -symbol = "󰘚 " - -[nim] -symbol = " " - -[nix_shell] -symbol = "  " - -[nodejs] -symbol = " " - -[package] -symbol = "󰏗 " - -[python] -symbol = " " - -[rlang] -symbol = " " - -[ruby] -symbol = " " - -[rust] -symbol = " " - -[scala] -symbol = " " - diff --git a/modules/nixos/system/time/default.nix b/modules/nixos/system/time/default.nix deleted file mode 100644 index a2e3170..0000000 --- a/modules/nixos/system/time/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; let - cfg = config.system.time; -in { - options.system.time = with types; { - enable = - mkBoolOpt false "Whether or not to configure timezone information."; - }; - - config = mkIf cfg.enable {time.timeZone = "America/Denver";}; -} diff --git a/modules/nixos/system/xkb/default.nix b/modules/nixos/system/xkb/default.nix deleted file mode 100644 index 7d1168e..0000000 --- a/modules/nixos/system/xkb/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - options, - config, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.system.xkb; -in -{ - options.system.xkb = with types; { - enable = mkBoolOpt false "Whether or not to configure xkb."; - }; - - config = mkIf cfg.enable { - console.useXkbConfig = true; - services.xserver = { - xkb.layout = "de"; - # xkb.xkbOptions = "caps:escape"; - }; - }; -} diff --git a/modules/nixos/user/default.nix b/modules/nixos/user/default.nix deleted file mode 100644 index c4ec803..0000000 --- a/modules/nixos/user/default.nix +++ /dev/null @@ -1,105 +0,0 @@ -{ - options, - config, - pkgs, - lib, - ... -}: -with lib; -with lib.frajul; -let - cfg = config.user; - defaultIconFileName = "profile.png"; - defaultIcon = pkgs.stdenvNoCC.mkDerivation { - name = "default-icon"; - src = ./. + "/${defaultIconFileName}"; - - dontUnpack = true; - - installPhase = '' - cp $src $out - ''; - - passthru = { - fileName = defaultIconFileName; - }; - }; - propagatedIcon = - pkgs.runCommandNoCC "propagated-icon" - { - passthru = { - inherit (cfg.icon) fileName; - }; - } - '' - local target="$out/share/icons/user/${cfg.name}" - mkdir -p "$target" - - cp ${cfg.icon} "$target/${cfg.icon.fileName}" - ''; -in -{ - options.user = with types; { - name = mkOpt str "julian" "The name to use for the user account."; - initialPassword = mkOpt str "julian" "The initial password to use when the user is first created."; - icon = mkOpt (nullOr package) defaultIcon "The profile picture to use for the user."; - extraGroups = mkOpt (listOf str) [ ] "Groups for the user to be assigned."; - extraOptions = mkOpt attrs { } "Extra options passed to ."; - }; - - config = { - environment.systemPackages = with pkgs; [ propagatedIcon ]; - - environment.sessionVariables.FLAKE = "/home/julian/.dotfiles"; - - home = { - file = { - "Documents/.keep".text = ""; - "Downloads/.keep".text = ""; - "Music/.keep".text = ""; - "Pictures/.keep".text = ""; - "dev/.keep".text = ""; - "git/.keep".text = ""; - ".face".source = cfg.icon; - "Pictures/${cfg.icon.fileName or (builtins.baseNameOf cfg.icon)}".source = cfg.icon; - "Pictures/profile_old.png".source = ./profile_old.png; - }; - - persist.directories = [ - "Documents" - "Music" - "Pictures" - "dev" - "git" - - ".dotfiles" - ]; - }; - - users.users.${cfg.name} = { - isNormalUser = true; - inherit (cfg) name initialPassword; - home = "/home/${cfg.name}"; - group = "${cfg.name}"; - - # hashedPasswordFile = lib.mkForce config.sops.secrets."system/password".path; - - extraGroups = [ - "wheel" - "audio" - "sound" - "video" - "networkmanager" - "input" - "tty" - "docker" - ] ++ cfg.extraGroups; - } // cfg.extraOptions; - - users.groups.${cfg.name} = { }; - - # users.users.root.hashedPasswordFile = lib.mkForce config.sops.secrets."system/password".path; - - users.mutableUsers = false; - }; -} diff --git a/modules/nixos/user/profile.png b/modules/nixos/user/profile.png deleted file mode 100644 index e43f9ca..0000000 Binary files a/modules/nixos/user/profile.png and /dev/null differ diff --git a/modules/nixos/user/profile_old.png b/modules/nixos/user/profile_old.png deleted file mode 100644 index 0bb9290..0000000 Binary files a/modules/nixos/user/profile_old.png and /dev/null differ diff --git a/modules/nixos/virtualisation/arion/default.nix b/modules/nixos/virtualisation/arion/default.nix deleted file mode 100644 index 367f5df..0000000 --- a/modules/nixos/virtualisation/arion/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.virtualisation.arion; -in { - imports = with inputs; [ - arion.nixosModules.arion - ]; - - options.virtualisation.arion = with types; { - enable = mkBoolOpt false "Whether or not to enable arion, a docker-compose wrapper."; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ - pkgs.arion - pkgs.lazydocker - ]; - virtualisation.arion.backend = "docker"; - virtualisation.docker.enable = true; - - environment.persist.directories = [ - "/var/lib/docker" - ]; - }; -} diff --git a/modules/nixos/virtualisation/kvm/default.nix b/modules/nixos/virtualisation/kvm/default.nix deleted file mode 100644 index 70f82e5..0000000 --- a/modules/nixos/virtualisation/kvm/default.nix +++ /dev/null @@ -1,97 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.virtualisation.kvm; - inherit (config) user; -in { - options.virtualisation.kvm = with types; { - enable = mkBoolOpt false "Whether or not to enable KVM virtualisation."; - vfioIds = - mkOpt (listOf str) [] - "The hardware IDs to pass through to a virtual machine."; - platform = - mkOpt (enum ["amd" "intel"]) "intel" - "Which CPU platform the machine is using."; - # Use `machinectl` and then `machinectl status ` to - # get the unit "*.scope" of the virtual machine. - machineUnits = - mkOpt (listOf str) [] - "The systemd *.scope units to wait for before starting Scream."; - }; - - config = mkIf cfg.enable { - boot = { - kernelModules = [ - "kvm-${cfg.platform}" - "vfio_virqfd" - "vfio_pci" - "vfio_iommu_type1" - "vfio" - ]; - kernelParams = [ - "${cfg.platform}_iommu=on" - "${cfg.platform}_iommu=pt" - "kvm.ignore_msrs=1" - ]; - extraModprobeConfig = - optionalString (length cfg.vfioIds > 0) - "options vfio-pci ids=${concatStringsSep "," cfg.vfioIds}"; - }; - - systemd.tmpfiles.rules = [ - "f /dev/shm/looking-glass 0660 ${user.name} qemu-libvirtd -" - "f /dev/shm/scream 0660 ${user.name} qemu-libvirtd -" - ]; - - environment.systemPackages = with pkgs; [virt-manager]; - - virtualisation = { - libvirtd = { - enable = true; - extraConfig = '' - user="${user.name}" - ''; - - onBoot = "ignore"; - onShutdown = "shutdown"; - - qemu = { - package = pkgs.qemu_kvm; - ovmf.enable = true; - verbatimConfig = '' - namespaces = [] - user = "+${builtins.toString config.users.users.${user.name}.uid}" - ''; - }; - }; - }; - - user = {extraGroups = ["qemu-libvirtd" "libvirtd" "disk"];}; - - home = { - extraOptions = { - systemd.user.services.scream = { - Unit.Description = "Scream"; - Unit.After = - [ - "libvirtd.service" - "pipewire-pulse.service" - "pipewire.service" - "sound.target" - ] - ++ cfg.machineUnits; - Service.ExecStart = "${pkgs.scream}/bin/scream -n scream -o pulse -m /dev/shm/scream"; - Service.Restart = "always"; - Service.StartLimitIntervalSec = "5"; - Service.StartLimitBurst = "1"; - Install.RequiredBy = cfg.machineUnits; - }; - }; - }; - }; -} diff --git a/modules/nixos/virtualisation/microvm/default.nix b/modules/nixos/virtualisation/microvm/default.nix deleted file mode 100644 index 3c0ae6e..0000000 --- a/modules/nixos/virtualisation/microvm/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - options, - config, - lib, - inputs, - ... -}: -with lib; -with lib.frajul; let - cfg = config.virtualisation.microvm; -in { - imports = with inputs; [ - microvm.nixosModules.host - ]; - - options.virtualisation.microvm = with types; { - enable = mkBoolOpt false "Enable microvm support"; - }; - - config = mkIf cfg.enable { - environment.persist.directories = [ - "/var/lib/microvms" - ]; - }; -} diff --git a/non-nix/polybar/config.ini b/non-nix/polybar/config.ini index 38c5be4..45e4b76 100644 --- a/non-nix/polybar/config.ini +++ b/non-nix/polybar/config.ini @@ -33,8 +33,8 @@ line-size = 5 bottom = true fixed-center = true -background = ${palette.background} -foreground = ${palette.foreground} +background = ${colors.background} +foreground = ${colors.foreground} padding-left = 0 padding-right = 1 @@ -58,7 +58,7 @@ click-right = jgmenu_run [module/sep] type = custom/text content = | -content-foreground = ${palette.foreground} +content-foreground = ${colors.foreground} [module/i3] type = internal/i3 @@ -70,24 +70,24 @@ format = label-mode =  %mode% label-mode-padding = 1 -label-mode-background = ${palette.background-alt} -label-mode-foreground = ${palette.primary} +label-mode-background = ${colors.background-alt} +label-mode-foreground = ${colors.primary} label-mode-prefix = -label-mode-prefix-foreground = ${palette.primary} +label-mode-prefix-foreground = ${colors.primary} label-focused = %name% -label-focused-background = ${palette.background-alt} +label-focused-background = ${colors.background-alt} label-focused-padding = 1 label-unfocused = %name% label-unfocused-padding = 1 label-urgent = %name% -label-urgent-underline = ${palette.alert} +label-urgent-underline = ${colors.alert} label-urgent-padding = 1 label-visible = %name% -label-visible-foreground = ${palette.disabled} +label-visible-foreground = ${colors.disabled} label-visible-padding = 1 [module/xworkspaces] @@ -96,19 +96,19 @@ enable-click = true enable-scroll = true label-active = %name% -label-active-background = ${palette.background-alt} -label-active-underline= ${palette.primary} +label-active-background = ${colors.background-alt} +label-active-underline= ${colors.primary} label-active-padding = 1 label-occupied = %name% label-occupied-padding = 1 label-urgent = %name% -label-urgent-background = ${palette.alert} +label-urgent-background = ${colors.alert} label-urgent-padding = 1 label-empty = %name% -label-empty-foreground = ${palette.disabled} +label-empty-foreground = ${colors.disabled} label-empty-padding = 1 [module/filesystem] @@ -120,22 +120,22 @@ mount-0 = /home label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${palette.disabled} +label-unmounted-foreground = ${colors.disabled} [module/volume] type = internal/pulseaudio format-volume = label-volume = %percentage%% -format-volume-prefix-foreground = ${palette.primary} +format-volume-prefix-foreground = ${colors.primary} ramp-volume-0 =  ramp-volume-1 =  ramp-volume-2 =  -ramp-volume-foreground = ${palette.primary} +ramp-volume-foreground = ${colors.primary} label-muted = MUTED -label-muted-foreground = ${palette.primary} +label-muted-foreground = ${colors.primary} click-right = pavucontrol @@ -143,14 +143,14 @@ click-right = pavucontrol type = internal/memory interval = 2 format-prefix = "RAM " -format-prefix-foreground = ${palette.primary} +format-prefix-foreground = ${colors.primary} label = %percentage_used:2%% [module/cpu] type = internal/cpu interval = 2 format-prefix =  -format-prefix-foreground = ${palette.primary} +format-prefix-foreground = ${colors.primary} label = %percentage:2%% [module/date] @@ -161,10 +161,10 @@ date = %A, %d.%m.%Y time = at %H:%M:%S label = %date% %time% -label-foreground = ${palette.foreground} +label-foreground = ${colors.foreground} format-prefix = " " -format-prefix-foreground = ${palette.primary} +format-prefix-foreground = ${colors.primary} [settings] screenchange-reload = true diff --git a/systems/x86_64-linux/aspi/default.nix b/systems/x86_64-linux/aspi/default.nix index 900770a..b465a58 100644 --- a/systems/x86_64-linux/aspi/default.nix +++ b/systems/x86_64-linux/aspi/default.nix @@ -22,43 +22,34 @@ { imports = [ ./hardware-configuration.nix ]; - # nix.buildMachines = [ - # { - # hostName = "192.168.3.118"; - # system = "x86_64-linux"; - # protocol = "ssh"; - # # if the builder supports building for multiple architectures, - # # replace the previous line by, e.g. - # # systems = ["x86_64-linux" "aarch64-linux"]; - # maxJobs = 4; - # speedFactor = 3; - # supportedFeatures = [ - # "nixos-test" - # "benchmark" - # "big-parallel" - # "kvm" - # ]; - # mandatoryFeatures = [ ]; - # } - # ]; - # nix.distributedBuilds = true; + nix.buildMachines = [ + { + hostName = "192.168.3.118"; + system = "x86_64-linux"; + protocol = "ssh"; + # if the builder supports building for multiple architectures, + # replace the previous line by, e.g. + # systems = ["x86_64-linux" "aarch64-linux"]; + maxJobs = 4; + speedFactor = 3; + supportedFeatures = [ + "nixos-test" + "benchmark" + "big-parallel" + "kvm" + ]; + mandatoryFeatures = [ ]; + } + ]; + nix.distributedBuilds = true; # optional, useful when the builder has a faster internet connection than yours - # nix.extraOptions = " builders-use-substitutes = true\n"; + nix.extraOptions = " builders-use-substitutes = true\n"; - modules = { - # Bootloader - system.boot.efi.enable = true; - system.battery.enable = true; + # Bootloader + # Use this for simple nix boot menu, if no dual boot required + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; - nixos.home.enable = true; - }; - system.nix.enable = true; - - suites.desktop.enable = true; - suites.development.enable = true; - suites.editing.enable = true; - - # TODO: not used by iogamaster boot.supportedFilesystems = [ "btrfs" "ntfs" @@ -70,235 +61,224 @@ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. networking.networkmanager.enable = true; - # For network topology - topology.self.hardware.info = "Aspire 3"; - networking.interfaces.wlp0s20f3 = { - name = "wlp0s20f3"; - useDHCP = true; - }; - networking.interfaces.enp1s0 = { - name = "enp1s0"; - useDHCP = true; + # Set your time zone. + time.timeZone = "Europe/Berlin"; + + # Set location used by redshift + location.provider = "manual"; + location.latitude = 47.92; + location.longitude = 10.12; + + modules = { + locales.enable = true; + # greetd.enable = true; }; - # # Set your time zone. - # time.timeZone = "Europe/Berlin"; + nix.settings.auto-optimise-store = true; + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; - # # Set location used by redshift - # location.provider = "manual"; - # location.latitude = 47.92; - # location.longitude = 10.12; + # Setup binary caches + nix.settings = { + substituters = [ + "https://nix-community.cachix.org" + "https://cache.nixos.org/" + "https://hyprland.cachix.org" + ]; + trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + ]; + }; - # modules = { - # locales.enable = true; - # # greetd.enable = true; + # Enable the X11 windowing system. + hardware.opengl.enable = true; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + # Enable the XFCE Desktop Environment. + services.xserver.displayManager.gdm.enable = true; + security.pam.services.gdm.enableGnomeKeyring = true; + + # services.displayManager.sddm.wayland.enable = true; + # services.xserver.desktopManager = { + # xterm.enable = false; + # xfce = { + # enable = true; + # noDesktop = true; + # enableXfwm = false; + # }; # }; - - # nix.settings.auto-optimise-store = true; - # nix.settings.experimental-features = [ - # "nix-command" - # "flakes" - # ]; - - # # Setup binary caches - # nix.settings = { - # substituters = [ - # "https://nix-community.cachix.org" - # "https://cache.nixos.org/" - # "https://hyprland.cachix.org" - # ]; - # trusted-public-keys = [ - # "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - # "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" - # ]; - # }; - - # # Enable the X11 windowing system. - # hardware.opengl.enable = true; - - # nix.gc = { - # automatic = true; - # dates = "weekly"; - # options = "--delete-older-than 30d"; - # }; - - # # Enable the XFCE Desktop Environment. # services.xserver.displayManager.gdm.enable = true; - # security.pam.services.gdm.enableGnomeKeyring = true; + # services.xserver.windowManager.i3.enable = true; + # services.xserver.windowManager.i3.package = pkgs.i3-gaps; - # # services.displayManager.sddm.wayland.enable = true; - # # services.xserver.desktopManager = { - # # xterm.enable = false; - # # xfce = { - # # enable = true; - # # noDesktop = true; - # # enableXfwm = false; - # # }; - # # }; - # # services.xserver.displayManager.gdm.enable = true; - # # services.xserver.windowManager.i3.enable = true; - # # services.xserver.windowManager.i3.package = pkgs.i3-gaps; + programs.hyprland.enable = true; + programs.hyprland.xwayland.enable = true; - # programs.hyprland.enable = true; - # programs.hyprland.xwayland.enable = true; + # Configure keymap in X11 + services.xserver = { + enable = true; + xkb.layout = "de"; + xkb.variant = ""; + }; - # # Configure keymap in X11 - # services.xserver = { - # enable = true; - # xkb.layout = "de"; - # xkb.variant = ""; - # }; + # Configure console keymap + console.keyMap = "de"; - # # Configure console keymap - # console.keyMap = "de"; + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.polkit.enable = true; - # # Enable sound with pipewire. - # sound.enable = true; - # hardware.pulseaudio.enable = false; - # security.polkit.enable = true; + systemd = { + user.services.polkit-gnome-authentication-agent-1 = { + description = "polkit-gnome-authentication-agent-1"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + }; - # systemd = { - # user.services.polkit-gnome-authentication-agent-1 = { - # description = "polkit-gnome-authentication-agent-1"; - # wantedBy = [ "graphical-session.target" ]; - # wants = [ "graphical-session.target" ]; - # after = [ "graphical-session.target" ]; - # serviceConfig = { - # Type = "simple"; - # ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; - # Restart = "on-failure"; - # RestartSec = 1; - # TimeoutStopSec = 10; + security.pam.services.hyprlock = { }; + + # Sound + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + + # Enable touchpad support (enabled default in most desktopManager). + services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.julian = { + isNormalUser = true; + description = "Julian"; + uid = 1000; + group = "julian"; + shell = pkgs.fish; + extraGroups = [ + "networkmanager" + "wheel" + "docker" + ]; + }; + + # home-manager.useGlobalPkgs = true; # make overlays for nixpkgs work for home-manager, not only the system + # home-manager.useUserPackages = true; + + programs.fish.enable = true; + + programs.nix-ld.enable = true; + + users.groups.julian = { + gid = 1000; + }; + + programs.seahorse.enable = true; + services.gnome.gnome-keyring.enable = true; + + # systemd.services."wg-quick@julian".enable = true; + # networking.wireguard.enable = true; + + # This interface is started on boot / switch + networking.wg-quick.interfaces = { + julian = { + configFile = "/etc/wireguard/julian.conf"; + }; + }; + + # List services that you want to enable: + # Enable the OpenSSH daemon. + services.openssh.enable = false; + + services.syncthing.enable = true; + services.syncthing.user = "julian"; + services.syncthing.group = "julian"; + #services.syncthing.key = config.sops.secrets."aspi/syncthing/key".path; + #services.syncthing.cert = config.sops.secrets."aspi/syncthing/cert".path; + # overrideDevices = true; # overrides any devices added or deleted through the WebUI + # overrideFolders = true; # overrides any folders added or deleted through the WebUI + # settings = { + # devices = { + # "device1" = { + # id = "DEVICE-ID-GOES-HERE"; + # }; + # "device2" = { + # id = "DEVICE-ID-GOES-HERE"; + # }; + # }; + # folders = { + # "Documents" = { + # # Name of folder in Syncthing, also the folder ID + # path = "/home/myusername/Documents"; # Which folder to add to Syncthing + # devices = [ + # "device1" + # "device2" + # ]; # Which devices to share the folder with + # }; + # "Example" = { + # path = "/home/myusername/Example"; + # devices = [ "device1" ]; + # ignorePerms = false; # By default, Syncthing doesn't sync file permissions. This line enables it for this folder. # }; # }; # }; - # security.pam.services.hyprlock = { }; + # x11 only, for wayland use gammastep (home-manager) + # services.redshift.enable = true; - # # Sound - # security.rtkit.enable = true; - # services.pipewire = { - # enable = true; - # alsa.enable = true; - # alsa.support32Bit = true; - # pulse.enable = true; - # jack.enable = true; - # }; + services.flatpak.enable = true; - # # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; + xdg.portal.enable = true; + xdg.portal.extraPortals = [ + pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-hyprland + ]; - # # Define a user account. Don't forget to set a password with ‘passwd’. - # users.users.julian = { - # isNormalUser = true; - # description = "Julian"; - # uid = 1000; - # group = "julian"; - # shell = pkgs.fish; - # extraGroups = [ - # "networkmanager" - # "wheel" - # "docker" - # ]; - # }; + # services.emacs.enable = true; - # # home-manager.useGlobalPkgs = true; # make overlays for nixpkgs work for home-manager, not only the system - # # home-manager.useUserPackages = true; - - # programs.fish.enable = true; - - # programs.nix-ld.enable = true; - - # users.groups.julian = { - # gid = 1000; - # }; - - # programs.seahorse.enable = true; # services.gnome.gnome-keyring.enable = true; - # # systemd.services."wg-quick@julian".enable = true; - # # networking.wireguard.enable = true; + # List packages installed in system profile. To search, run: + # $ nix search wget - # # This interface is started on boot / switch - # networking.wg-quick.interfaces = { - # julian = { - # configFile = "/etc/wireguard/julian.conf"; - # }; - # }; + # Packages needed as root + environment.systemPackages = with pkgs; [ + vim + htop + mc + xorg.xhost + kdePackages.qtwayland + frajul.pulseaudio-popup + gparted-xhost # needs to be installed as system package so it can be actually opened + ]; - # # List services that you want to enable: - # # Enable the OpenSSH daemon. - # services.openssh.enable = false; + virtualisation.docker.enable = true; - # services.syncthing.enable = true; - # services.syncthing.user = "julian"; - # services.syncthing.group = "julian"; - # #services.syncthing.key = config.sops.secrets."aspi/syncthing/key".path; - # #services.syncthing.cert = config.sops.secrets."aspi/syncthing/cert".path; - # # overrideDevices = true; # overrides any devices added or deleted through the WebUI - # # overrideFolders = true; # overrides any folders added or deleted through the WebUI - # # settings = { - # # devices = { - # # "device1" = { - # # id = "DEVICE-ID-GOES-HERE"; - # # }; - # # "device2" = { - # # id = "DEVICE-ID-GOES-HERE"; - # # }; - # # }; - # # folders = { - # # "Documents" = { - # # # Name of folder in Syncthing, also the folder ID - # # path = "/home/myusername/Documents"; # Which folder to add to Syncthing - # # devices = [ - # # "device1" - # # "device2" - # # ]; # Which devices to share the folder with - # # }; - # # "Example" = { - # # path = "/home/myusername/Example"; - # # devices = [ "device1" ]; - # # ignorePerms = false; # By default, Syncthing doesn't sync file permissions. This line enables it for this folder. - # # }; - # # }; - # # }; - - # # x11 only, for wayland use gammastep (home-manager) - # # services.redshift.enable = true; - - # services.flatpak.enable = true; - - # xdg.portal.enable = true; - # xdg.portal.extraPortals = [ - # pkgs.xdg-desktop-portal-gtk - # pkgs.xdg-desktop-portal-hyprland - # ]; - - # # services.emacs.enable = true; - - # # services.gnome.gnome-keyring.enable = true; - - # # List packages installed in system profile. To search, run: - # # $ nix search wget - - # # Packages needed as root - # environment.systemPackages = with pkgs; [ - # vim - # htop - # mc - # xorg.xhost - # kdePackages.qtwayland - # frajul.pulseaudio-popup - # gparted-xhost # needs to be installed as system package so it can be actually opened - # ]; - - # virtualisation.docker.enable = true; - - # virtualisation.virtualbox.host.enable = true; - # # virtualisation.virtualbox.host.enableExtensionPack = true; - # # virtualisation.virtualbox.guest.enable = true; - # # virtualisation.virtualbox.guest.x11 = true; - # users.extraGroups.vboxusers.members = [ "julian" ]; + virtualisation.virtualbox.host.enable = true; + # virtualisation.virtualbox.host.enableExtensionPack = true; + # virtualisation.virtualbox.guest.enable = true; + # virtualisation.virtualbox.guest.x11 = true; + users.extraGroups.vboxusers.members = [ "julian" ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions.