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.