Regenerated
This commit is contained in:
+409
-409
File diff suppressed because it is too large
Load Diff
+80
-80
@@ -221,7 +221,7 @@ The Nix flake definition for Droidnix.
|
||||
mutableConfigPath = "${flakeRoot}/generated/.config";
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
traveldroid = nixpkgs.lib.nixosSystem {
|
||||
mymachine = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
({ ... }: {
|
||||
@@ -266,9 +266,9 @@ The Nix flake definition for Droidnix.
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/colors.nix=
|
||||
** =generated/modules/system/colors.nix=
|
||||
Setting the colors for Droidnix.
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/colors.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/colors.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
colors = {
|
||||
@@ -449,7 +449,7 @@ in
|
||||
|
||||
let
|
||||
hostname = "traveldroid";
|
||||
modulesPath = "${flakeRoot}/generated/modules/${hostname}";
|
||||
modulesPath = "${flakeRoot}/generated/modules";
|
||||
hostModules = import-tree modulesPath;
|
||||
allModules = hostModules.imports;
|
||||
in
|
||||
@@ -500,11 +500,11 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* generated/traveldroid/modules/apps
|
||||
* generated/modules/apps
|
||||
|
||||
** =generated/modules/traveldroid/apps/2_b_installed.nix=
|
||||
** =generated/modules/apps/2_b_installed.nix=
|
||||
This installs a list of apps
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/2_b_installed.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/2_b_installed.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
@@ -606,9 +606,9 @@ in {
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/apps/emacs/emacs.nix=
|
||||
** =generated/modules/apps/emacs/emacs.nix=
|
||||
This installs emacs
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/emacs/emacs.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/emacs/emacs.nix :noweb yes :mkdirp yes :eval never
|
||||
{ config, pkgs, lib, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
@@ -697,9 +697,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/apps/kdeconnect.nix=
|
||||
** =generated/modules/apps/kdeconnect.nix=
|
||||
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/kdeconnect.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/kdeconnect.nix :noweb yes :mkdirp yes :eval never
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
@@ -721,9 +721,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/apps/kitty.nix=
|
||||
** =generated/modules/apps/kitty.nix=
|
||||
This file sets up Kitty terminal
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/kitty.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/kitty.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, pkgs, config, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
@@ -769,9 +769,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/apps/stackstorage.nix=
|
||||
** =generated/modules/apps/stackstorage.nix=
|
||||
Installs the TransIP Stackstorage Appimage
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/stackstorage.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/stackstorage.nix :noweb yes :mkdirp yes :eval never
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
@@ -789,9 +789,9 @@ in {
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/apps/starship.nix=
|
||||
** =generated/modules/apps/starship.nix=
|
||||
This file sets up starship prompt
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/starship.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/starship.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
@@ -826,9 +826,9 @@ in
|
||||
|
||||
|
||||
|
||||
** =generated/modules/traveldroid/apps/thunar.nix=
|
||||
** =generated/modules/apps/thunar.nix=
|
||||
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/thunar.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/thunar.nix :noweb yes :mkdirp yes :eval never
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
let
|
||||
@@ -869,9 +869,9 @@ in
|
||||
#+END_SRC
|
||||
|
||||
|
||||
** =generated/modules/traveldroid/apps/wofi.nix=
|
||||
** =generated/modules/apps/wofi.nix=
|
||||
This is the install for Wofi, the launcher
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/wofi.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/wofi.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
@@ -902,9 +902,9 @@ in
|
||||
|
||||
|
||||
|
||||
** =generated/modules/traveldroid/apps/zenbrowser.nix=
|
||||
** =generated/modules/apps/zenbrowser.nix=
|
||||
This installs zen browser
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/zenbrowser.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/zenbrowser.nix :noweb yes :mkdirp yes :eval never
|
||||
{ config, pkgs, lib, zen-browser, ... }:
|
||||
|
||||
let
|
||||
@@ -918,9 +918,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/apps/zeditor.nix=
|
||||
** =generated/modules/apps/zeditor.nix=
|
||||
This sets Zed Editor
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/zeditor.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/zeditor.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
@@ -987,9 +987,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/apps/zsh.nix=
|
||||
** =generated/modules/apps/zsh.nix=
|
||||
This sets up the zsh in the terminal
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/zsh.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/apps/zsh.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
@@ -1096,11 +1096,11 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* generated/modules/traveldroid/desktop
|
||||
* generated/modules/desktop
|
||||
|
||||
** =generated/modules/traveldroid/desktop/fonts.nix=
|
||||
** =generated/modules/desktop/fonts.nix=
|
||||
This file installs and configures fonts
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/fonts.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/desktop/fonts.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
@@ -1112,9 +1112,9 @@ This file installs and configures fonts
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/desktop/gtk.nix=
|
||||
** =generated/modules/desktop/gtk.nix=
|
||||
Setting up GTK
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/gtk.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/desktop/gtk.nix :noweb yes :mkdirp yes :eval never
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
let
|
||||
@@ -1134,9 +1134,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/desktop/hyprland.nix=
|
||||
** =generated/modules/desktop/hyprland.nix=
|
||||
Setting up Hyprland
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/hyprland.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/desktop/hyprland.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, home-manager, inputs, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
@@ -1175,8 +1175,8 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/desktop/stylix.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/stylix.nix :noweb yes :mkdirp yes :eval never
|
||||
** =generated/modules/desktop/stylix.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/desktop/stylix.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, stylix, ... }:
|
||||
|
||||
let
|
||||
@@ -1216,7 +1216,7 @@ in
|
||||
stylix = {
|
||||
enable = true;
|
||||
|
||||
base16Scheme = "${flakeRoot}/assets/traveldroid/theming/stylix/catppuccin-mocha.yaml";
|
||||
base16Scheme = "${flakeRoot}/assets/mymachine/theming/stylix/catppuccin-mocha.yaml";
|
||||
polarity = "dark";
|
||||
|
||||
targets = {
|
||||
@@ -1260,15 +1260,15 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/desktop/wallpaper.nix=
|
||||
** =generated/modules/desktop/wallpaper.nix=
|
||||
Setting up wallpaper engine + wallpaper gui
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/wallpaper.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/desktop/wallpaper.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
homeDir = "/home/${username}";
|
||||
wallpaperSrc = "${flakeRoot}/assets/traveldroid/Wallpapers";
|
||||
wallpaperSrc = "${flakeRoot}/assets/mymachine/Wallpapers";
|
||||
wallpaperDst = "${homeDir}/Wallpapers";
|
||||
sysName = "awww";
|
||||
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
||||
@@ -1462,9 +1462,9 @@ case "$WS" in
|
||||
esac
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/desktop/waybar.nix=
|
||||
** =generated/modules/desktop/waybar.nix=
|
||||
This file installs and configures waybar
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/waybar.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/desktop/waybar.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
@@ -1506,8 +1506,8 @@ in
|
||||
|
||||
|
||||
|
||||
** =generated/modules/traveldroid/desktop/wayland.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/wayland.nix :noweb yes :mkdirp yes :eval never
|
||||
** =generated/modules/desktop/wayland.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/desktop/wayland.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
@@ -1534,9 +1534,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/desktop/xdg.nix=
|
||||
** =generated/modules/desktop/xdg.nix=
|
||||
This sets the XDG implementation
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/xdg.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/desktop/xdg.nix :noweb yes :mkdirp yes :eval never
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
@@ -1663,10 +1663,10 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* generated/modules/traveldroid/system
|
||||
* generated/modules/system
|
||||
|
||||
** =generated/modules/traveldroid/system/audio.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/audio.nix :noweb yes :mkdirp yes :eval never
|
||||
** =generated/modules/system/audio.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/audio.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
############################
|
||||
@@ -1696,9 +1696,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/avahi.nix=
|
||||
** =generated/modules/system/avahi.nix=
|
||||
Avahi helps discovering services
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/avahi.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/avahi.nix :noweb yes :mkdirp yes :eval never
|
||||
{ ... }:
|
||||
{
|
||||
services.avahi = {
|
||||
@@ -1712,9 +1712,9 @@ Avahi helps discovering services
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/bluetooth.nix=
|
||||
** =generated/modules/system/bluetooth.nix=
|
||||
Installing Bluetooth services and supporting aps
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/bluetooth.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/bluetooth.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, home-manager, ... }:
|
||||
|
||||
let
|
||||
@@ -1735,9 +1735,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/copy_scripts.nix=
|
||||
** =generated/modules/system/copy_scripts.nix=
|
||||
This copies any scripts from /generated/.config/shared//scripts to ~/.config/shared/scripts and makes any .sh files executable.
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/copy_scripts.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/copy_scripts.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
@@ -1772,9 +1772,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/dbus.nix=
|
||||
** =generated/modules/system/dbus.nix=
|
||||
This sets the dbus implementation
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/dbus.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/dbus.nix :noweb yes :mkdirp yes :eval never
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
@@ -1795,9 +1795,9 @@ This sets the dbus implementation
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/firewall.nix=
|
||||
** =generated/modules/system/firewall.nix=
|
||||
This sets the firewall.
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/firewall.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/firewall.nix :noweb yes :mkdirp yes :eval never
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
@@ -1872,9 +1872,9 @@ This sets the firewall.
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/hypridle.nix=
|
||||
** =generated/modules/system/hypridle.nix=
|
||||
This installs hypridle
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/hypridle.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/hypridle.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
@@ -1924,9 +1924,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/hyprlock.nix=
|
||||
** =generated/modules/system/hyprlock.nix=
|
||||
This installs hyprlock
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/hyprlock.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/hyprlock.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
@@ -1977,9 +1977,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/gnome-keyring.nix=
|
||||
** =generated/modules/system/gnome-keyring.nix=
|
||||
This sets the dbus implementation
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/gnome-keyring.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/gnome-keyring.nix :noweb yes :mkdirp yes :eval never
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
@@ -2021,9 +2021,9 @@ This sets the dbus implementation
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/login-tuigreet.nix=
|
||||
** =generated/modules/system/login-tuigreet.nix=
|
||||
This sets up tuigreeter which is not fancy but imho fits the aesthetic I am aiming for
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/login-tuigreet.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/login-tuigreet.nix :noweb yes :mkdirp yes :eval never
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
tuigreetBin = "${pkgs.tuigreet}/bin/tuigreet";
|
||||
@@ -2065,9 +2065,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/networking.nix=
|
||||
** =generated/modules/system/networking.nix=
|
||||
This sets the networking.
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/networking.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/networking.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
@@ -2110,8 +2110,8 @@ This sets the networking.
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/numlock-check.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/numlock-check.nix :noweb yes :mkdirp yes :eval never
|
||||
** =generated/modules/system/numlock-check.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/numlock-check.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
@@ -2151,8 +2151,8 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/nix.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/nix.nix :noweb yes :mkdirp yes :eval never
|
||||
** =generated/modules/system/nix.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/nix.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
nix.settings = {
|
||||
@@ -2172,9 +2172,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/printing.nix=
|
||||
** =generated/modules/system/printing.nix=
|
||||
This sets the dbus implementation
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/printing.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/printing.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
@@ -2192,9 +2192,9 @@ This sets the dbus implementation
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/quickshell.nix=
|
||||
** =generated/modules/system/quickshell.nix=
|
||||
This sets the quickshell implementation
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/quickshell.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/quickshell.nix :noweb yes :mkdirp yes :eval never
|
||||
{ pkgs, lib, config, flakeRoot, quickshell, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
@@ -2234,9 +2234,9 @@ in
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/modules/traveldroid/system/swaync.nix=
|
||||
** =generated/modules/system/swaync.nix=
|
||||
This sets the dbus implementation
|
||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/system/swaync.nix :noweb yes :mkdirp yes :eval never
|
||||
#+BEGIN_SRC nix :tangle generated/modules/system/swaync.nix :noweb yes :mkdirp yes :eval never
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
@@ -4646,7 +4646,7 @@ ShellRoot {
|
||||
cmd: [
|
||||
"sh",
|
||||
"-c",
|
||||
`echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#traveldroid`
|
||||
`echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#mymachine`
|
||||
],
|
||||
cwd: "/home/henrov/Repos/nixos/Droidnix"
|
||||
},
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@
|
||||
mutableConfigPath = "${flakeRoot}/generated/.config";
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
traveldroid = nixpkgs.lib.nixosSystem {
|
||||
mymachine = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
({ ... }: {
|
||||
|
||||
@@ -39,7 +39,7 @@ ShellRoot {
|
||||
cmd: [
|
||||
"sh",
|
||||
"-c",
|
||||
`echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#traveldroid`
|
||||
`echo "${sudoPassword}" | sudo -S nixos-rebuild switch --flake .#mymachine`
|
||||
],
|
||||
cwd: "/home/henrov/Repos/nixos/Droidnix"
|
||||
},
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
let
|
||||
hostname = "traveldroid";
|
||||
modulesPath = "${flakeRoot}/generated/modules/${hostname}";
|
||||
modulesPath = "${flakeRoot}/generated/modules";
|
||||
hostModules = import-tree modulesPath;
|
||||
allModules = hostModules.imports;
|
||||
in
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
#################################
|
||||
# FILE
|
||||
#################################
|
||||
confPath = "${flakeRoot}/generated/assets/2_b_installed.conf";
|
||||
raw = builtins.readFile confPath;
|
||||
lines = lib.splitString "\n" raw;
|
||||
|
||||
#################################
|
||||
# CLEAN LINE
|
||||
#################################
|
||||
cleanLine = line:
|
||||
let
|
||||
noCR = lib.replaceStrings [ "\r" ] [ "" ] line;
|
||||
noInlineComment = lib.head (lib.splitString "#" noCR);
|
||||
in
|
||||
lib.strings.trim noInlineComment;
|
||||
|
||||
#################################
|
||||
# PARSE SECTION
|
||||
#################################
|
||||
parseSection = section:
|
||||
let
|
||||
result =
|
||||
builtins.foldl'
|
||||
(acc: line:
|
||||
let
|
||||
l = lib.strings.trim line;
|
||||
in
|
||||
if l == section then
|
||||
acc // { active = true; }
|
||||
else if lib.hasPrefix "#" l then
|
||||
acc // { active = false; }
|
||||
else if acc.active then
|
||||
acc // { entries = acc.entries ++ [ l ]; }
|
||||
else
|
||||
acc
|
||||
)
|
||||
{ active = false; entries = []; }
|
||||
lines;
|
||||
in
|
||||
builtins.filter (l: l != "") (map cleanLine result.entries);
|
||||
|
||||
#################################
|
||||
# NIX PACKAGES
|
||||
#################################
|
||||
packageEntries = parseSection "#packages";
|
||||
|
||||
resolvePkg = name:
|
||||
let
|
||||
parts = lib.splitString "." name;
|
||||
found = lib.attrByPath parts null pkgs;
|
||||
in
|
||||
if found == null then
|
||||
throw ''
|
||||
packages.nix: package not found
|
||||
Token: ${name}
|
||||
File : ${confPath}
|
||||
''
|
||||
else
|
||||
found;
|
||||
|
||||
packages = map resolvePkg packageEntries;
|
||||
|
||||
#################################
|
||||
# FLATPAKS
|
||||
#################################
|
||||
flatpakEntries = parseSection "#flatpaks";
|
||||
|
||||
in {
|
||||
#################################
|
||||
# Allow unfree
|
||||
#################################
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
#################################
|
||||
# System packages (Nix)
|
||||
#################################
|
||||
environment.systemPackages = packages;
|
||||
|
||||
#################################
|
||||
# Flatpak setup
|
||||
#################################
|
||||
services.flatpak.enable = true;
|
||||
|
||||
services.flatpak.remotes = [
|
||||
{
|
||||
name = "flathub";
|
||||
location = "https://flathub.org/repo/flathub.flatpakrepo";
|
||||
}
|
||||
];
|
||||
|
||||
#################################
|
||||
# Flatpak apps
|
||||
#################################
|
||||
services.flatpak.packages = flatpakEntries;
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, pkgs, lib, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
|
||||
assetPath = "${flakeRoot}/generated/.config/emacs";
|
||||
|
||||
# Emacs package with Tree-sitter support
|
||||
emacsPkg = pkgs.emacs-pgtk.override { withTreeSitter = true; };
|
||||
|
||||
# Extra packages for Emacs via Home Manager
|
||||
emacsExtraPackages = epkgs: [
|
||||
epkgs.manualPackages.treesit-grammars.with-all-grammars
|
||||
epkgs.nerd-icons
|
||||
epkgs.doom-modeline
|
||||
epkgs.diminish
|
||||
epkgs.eldoc
|
||||
epkgs.pulsar
|
||||
epkgs.which-key
|
||||
epkgs.expreg
|
||||
epkgs.vundo
|
||||
epkgs.puni
|
||||
epkgs.avy
|
||||
epkgs.consult
|
||||
epkgs.vertico
|
||||
epkgs.marginalia
|
||||
epkgs.crux
|
||||
epkgs.magit
|
||||
epkgs.nerd-icons-corfu
|
||||
epkgs.corfu
|
||||
epkgs.cape
|
||||
epkgs.orderless
|
||||
epkgs.yasnippet
|
||||
epkgs.yasnippet-snippets
|
||||
epkgs.rg
|
||||
epkgs.exec-path-from-shell
|
||||
epkgs.eat
|
||||
epkgs.rust-mode
|
||||
epkgs.rustic
|
||||
epkgs.nix-mode
|
||||
epkgs.hcl-mode
|
||||
epkgs.shell-pop
|
||||
epkgs.envrc
|
||||
epkgs.nixpkgs-fmt
|
||||
epkgs.f
|
||||
epkgs.gptel
|
||||
epkgs.catppuccin-theme
|
||||
epkgs.eldoc-box
|
||||
epkgs.sideline
|
||||
epkgs.sideline-flymake
|
||||
epkgs.sideline-eglot
|
||||
];
|
||||
in
|
||||
{
|
||||
# System-wide installation
|
||||
environment.systemPackages = [
|
||||
emacsPkg
|
||||
];
|
||||
|
||||
# Home Manager user-specific configuration for your default user
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.sessionVariables = {
|
||||
EDITOR = "emacs";
|
||||
XDG_SCREENSHOTS_DIR = "~/screenshots";
|
||||
};
|
||||
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
package = emacsPkg;
|
||||
extraPackages = emacsExtraPackages;
|
||||
};
|
||||
|
||||
home.file = {
|
||||
".emacs.d/early-init.el" = {
|
||||
source = "${assetPath}/early-init.el";
|
||||
force = true; # <-- allow overwrite
|
||||
};
|
||||
".emacs.d/init.el" = {
|
||||
source = "${assetPath}/init.el";
|
||||
force = true; # <-- allow overwrite
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
kdePackages.kdeconnect-kde
|
||||
];
|
||||
|
||||
systemd.user.services.kdeconnect = {
|
||||
enable = true;
|
||||
description = "KDE Connect daemon";
|
||||
wantedBy = ["default.target"];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.kdePackages.kdeconnect-kde}/bin/kdeconnectd";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, pkgs, config, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
extraConfigFile = "${flakeRoot}/generated/.config/kitty/extra.conf";
|
||||
extraConfig =
|
||||
if builtins.pathExists extraConfigFile
|
||||
then builtins.readFile extraConfigFile
|
||||
else "";
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# System-wide install
|
||||
#################################
|
||||
environment.systemPackages = [
|
||||
pkgs.kitty
|
||||
];
|
||||
#################################
|
||||
# Home Manager
|
||||
#################################
|
||||
home-manager.users = {
|
||||
"${username}" = {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
confirm_os_window_close = lib.mkForce 0;
|
||||
dynamic_background_opacity = lib.mkForce true;
|
||||
enable_audio_bell = lib.mkForce false;
|
||||
mouse_hide_wait = lib.mkForce "-1.0";
|
||||
window_padding_width = lib.mkForce 10;
|
||||
background_opacity = lib.mkForce "0.5";
|
||||
background_blur = lib.mkForce 5;
|
||||
notify_on_command_complete = lib.mkForce "never";
|
||||
};
|
||||
extraConfig = ''
|
||||
${extraConfig}
|
||||
# Theme
|
||||
include themes/Catppuccin-Mocha.conf
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
transip-stack = pkgs.appimageTools.wrapType2 {
|
||||
pname = "transip-stack";
|
||||
version = "latest";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://filehosting-client.transip.nl/packages/stack-linux-latest-x86_64.AppImage";
|
||||
sha256 = "1cmwc3mfpi7n3ga25p19pmsjmvkiy8hk4s4mxdsxkprw2vvrhwd7";
|
||||
};
|
||||
extraPkgs = pkgsFinal: with pkgsFinal; [ fuse ];
|
||||
};
|
||||
in {
|
||||
environment.systemPackages = [ transip-stack ];
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
# Default username fallback
|
||||
username = config.defaultUser or "henrov";
|
||||
|
||||
# Path to the starship config in assets
|
||||
starshipConfSrc = "${flakeRoot}/generated/.config/starship.toml";
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Install Starship system-wide
|
||||
#################################
|
||||
environment.systemPackages = [ pkgs.starship ];
|
||||
|
||||
#################################
|
||||
# Home Manager user configuration
|
||||
#################################
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
|
||||
home.file = {
|
||||
".config/starship.toml" = {
|
||||
text = builtins.readFile "${starshipConfSrc}";
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
let
|
||||
# Resolve the default username from host config
|
||||
username = config.defaultUser or "henrov";
|
||||
in
|
||||
{
|
||||
############################
|
||||
# System-level packages
|
||||
############################
|
||||
environment.systemPackages = with pkgs; [
|
||||
thunar # main file manager
|
||||
thunar-archive-plugin # zip, tar, rar, 7z support
|
||||
thunar-volman # auto-mount removable drives
|
||||
gvfs # support for external drives and network shares
|
||||
xarchiver # optional GUI archive manager
|
||||
tumbler # Showing thumbnails
|
||||
libmtp
|
||||
mtpfs
|
||||
jmtpfs
|
||||
];
|
||||
|
||||
############################
|
||||
# Home Manager user-level configuration
|
||||
############################
|
||||
# Direct assignment to the user avoids recursiveUpdate issues
|
||||
home-manager.users."${username}" = {
|
||||
home.stateVersion = "26.05"; # required
|
||||
|
||||
home.sessionVariables = {
|
||||
FILE_MANAGER = "thunar";
|
||||
USERNAME = username;
|
||||
};
|
||||
};
|
||||
# Enable gvfs as a service
|
||||
services.gvfs.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
sysName = "wofi";
|
||||
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [ pkgs.wofi ];
|
||||
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.activation.MakeWofiMutable = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
data = ''
|
||||
rm -rf $HOME/.config/${sysName}
|
||||
mkdir -p $HOME/.config/${sysName}
|
||||
cp -r ${assetPath}/* $HOME/.config/${sysName}/
|
||||
chmod -R u+w $HOME/.config/${sysName}/
|
||||
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
sysName = "zed";
|
||||
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [ pkgs.zed-editor
|
||||
pkgs.nil
|
||||
pkgs.basedpyright
|
||||
pkgs.ruff
|
||||
pkgs.black
|
||||
pkgs.rustc
|
||||
pkgs.cargo
|
||||
pkgs.rust-analyzer
|
||||
pkgs.rustfmt
|
||||
pkgs.gopls
|
||||
pkgs.go
|
||||
pkgs.vscode-langservers-extracted
|
||||
pkgs.yaml-language-server
|
||||
pkgs.prettier
|
||||
pkgs.sqls
|
||||
pkgs.sqlite
|
||||
pkgs.postgresql
|
||||
pkgs.pandoc
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
EDITOR = "zeditor";
|
||||
VISUAL = "zeditor";
|
||||
};
|
||||
|
||||
xdg.mime.defaultApplications = {
|
||||
"text/plain" = "dev.zed.Zed.desktop";
|
||||
"text/x-lua" = "dev.zed.Zed.desktop";
|
||||
"text/x-sql" = "dev.zed.Zed.desktop";
|
||||
"text/x-org" = "dev.zed.Zed.desktop";
|
||||
"text/x-script.python" = "dev.zed.Zed.desktop";
|
||||
"text/x-shellscript" = "dev.zed.Zed.desktop";
|
||||
"text/x-csrc" = "dev.zed.Zed.desktop";
|
||||
"text/x-chdr" = "dev.zed.Zed.desktop";
|
||||
"text/x-rust" = "dev.zed.Zed.desktop";
|
||||
"text/x-toml" = "dev.zed.Zed.desktop";
|
||||
"text/x-yaml" = "dev.zed.Zed.desktop";
|
||||
"text/x-json" = "dev.zed.Zed.desktop";
|
||||
"application/json" = "dev.zed.Zed.desktop";
|
||||
"text/markdown" = "dev.zed.Zed.desktop";
|
||||
"text/x-nix" = "dev.zed.Zed.desktop";
|
||||
};
|
||||
|
||||
home-manager.users.${username} = {
|
||||
home.activation.MakeZedMutable = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
data = ''
|
||||
rm -rf $HOME/.config/${sysName}
|
||||
mkdir -p $HOME/.config/${sysName}
|
||||
cp -r ${assetPath}/* $HOME/.config/${sysName}/
|
||||
chmod -R u+w $HOME/.config/${sysName}/
|
||||
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, pkgs, lib, zen-browser, ... }:
|
||||
|
||||
let
|
||||
# Grab the Zen Browser package for this host system
|
||||
zenBrowser = zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [
|
||||
zenBrowser
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
#################################
|
||||
# User config
|
||||
#################################
|
||||
username = config.defaultUser or "henrov";
|
||||
generatedZsh = "${flakeRoot}/generated/.config/zsh/.zshrc";
|
||||
|
||||
#################################
|
||||
# Alias parsing
|
||||
#################################
|
||||
aliasFile = "${flakeRoot}/generated/assets/aliases.conf";
|
||||
content = builtins.readFile aliasFile;
|
||||
|
||||
lines =
|
||||
lib.filter (l: l != "")
|
||||
(map (l:
|
||||
let
|
||||
noComment = builtins.head (lib.splitString "#" l);
|
||||
in lib.trim noComment
|
||||
) (lib.splitString "\n" content));
|
||||
|
||||
parseLine = line:
|
||||
let
|
||||
parts = lib.splitString "=" line;
|
||||
in
|
||||
if lib.length parts < 2 then null else {
|
||||
name = lib.trim (lib.head parts);
|
||||
value = lib.trim (lib.concatStringsSep "=" (lib.tail parts));
|
||||
};
|
||||
|
||||
parsed =
|
||||
lib.filter (x: x != null)
|
||||
(map parseLine lines);
|
||||
|
||||
functions =
|
||||
lib.concatStringsSep "\n"
|
||||
(map (x: ''
|
||||
${x.name}() {
|
||||
${x.value} "$@"
|
||||
}
|
||||
'') parsed);
|
||||
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Packages
|
||||
#################################
|
||||
environment.systemPackages = with pkgs; [
|
||||
zsh
|
||||
oh-my-zsh
|
||||
starship
|
||||
zsh-syntax-highlighting
|
||||
];
|
||||
|
||||
#################################
|
||||
# Zsh config location
|
||||
#################################
|
||||
environment.etc."zshenv".text = ''
|
||||
export ZDOTDIR=$HOME/.config/zsh
|
||||
'';
|
||||
|
||||
#################################
|
||||
# Generated alias functions (system-wide)
|
||||
#################################
|
||||
environment.etc."profile.d/99-alias-functions.sh".text = ''
|
||||
# system-wide functions generated from aliases.conf
|
||||
${functions}
|
||||
'';
|
||||
|
||||
#################################
|
||||
# Global zshrc
|
||||
#################################
|
||||
environment.etc."zshrc".text = ''
|
||||
export ZSH=${pkgs.oh-my-zsh}/share/oh-my-zsh
|
||||
ZSH_THEME=""
|
||||
plugins=(git sudo extract colored-man-pages command-not-found history docker kubectl)
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# Init starship FIRST (prompt)
|
||||
eval "$(starship init zsh)"
|
||||
|
||||
# Load alias functions
|
||||
if [ -f /etc/profile.d/99-alias-functions.sh ]; then
|
||||
source /etc/profile.d/99-alias-functions.sh
|
||||
fi
|
||||
|
||||
# Load optional generated user config
|
||||
[ -f "${generatedZsh}" ] && source "${generatedZsh}"
|
||||
|
||||
# Syntax highlighting MUST be last
|
||||
source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
'';
|
||||
|
||||
#################################
|
||||
# Home Manager integration
|
||||
#################################
|
||||
home-manager.users.${username} = {
|
||||
programs.zsh.enable = true;
|
||||
home.file.".config/zsh/.zshrc".source = generatedZsh;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.iosevka
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.jetbrains-mono
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
gtk3
|
||||
gtk4
|
||||
];
|
||||
|
||||
home-manager.users."${username}" = {
|
||||
gtk = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, home-manager, inputs, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
sysName = "hypr";
|
||||
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
||||
hyprlandPkg =
|
||||
pkgs.hyprland or
|
||||
pkgs.hyprland-git or
|
||||
inputs.hyprland.packages.${pkgs.system}.default;
|
||||
in
|
||||
{
|
||||
# Install Hyprland systemwide
|
||||
programs.hyprland.enable = true;
|
||||
programs.hyprland.withUWSM = true;
|
||||
programs.hyprland.package = hyprlandPkg;
|
||||
|
||||
environment.systemPackages = [ hyprlandPkg ];
|
||||
|
||||
# Home Manager user configuration
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
|
||||
home.activation.MakeHyprMutable = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
data = ''
|
||||
rm -rf $HOME/.config/${sysName}
|
||||
mkdir -p $HOME/.config/${sysName}
|
||||
cp -r ${assetPath}/* $HOME/.config/${sysName}/
|
||||
chmod -R u+w $HOME/.config/${sysName}/
|
||||
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, stylix, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
moduleName = "stylix";
|
||||
|
||||
assetPath = "${flakeRoot}/generated/.config/${moduleName}";
|
||||
|
||||
stylixConfFile = "${assetPath}/stylix.conf";
|
||||
stylixConf =
|
||||
if builtins.pathExists stylixConfFile
|
||||
then builtins.readFile stylixConfFile
|
||||
else "";
|
||||
|
||||
cursorName = "phinger-cursors-light";
|
||||
cursorSize = 24;
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Enable Stylix module
|
||||
#################################
|
||||
imports = [
|
||||
stylix.nixosModules.stylix
|
||||
];
|
||||
|
||||
#################################
|
||||
# System packages
|
||||
#################################
|
||||
environment.systemPackages = [
|
||||
pkgs.feh
|
||||
pkgs.st
|
||||
];
|
||||
|
||||
#################################
|
||||
# Stylix system config
|
||||
#################################
|
||||
stylix = {
|
||||
enable = true;
|
||||
|
||||
base16Scheme = "${flakeRoot}/assets/mymachine/theming/stylix/catppuccin-mocha.yaml";
|
||||
polarity = "dark";
|
||||
|
||||
targets = {
|
||||
gtk.enable = true;
|
||||
qt.enable = true;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
name = cursorName;
|
||||
package = pkgs.phinger-cursors;
|
||||
size = cursorSize;
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# Home Manager
|
||||
#################################
|
||||
home-manager.users = {
|
||||
"${username}" = {
|
||||
|
||||
#################################
|
||||
# ONLY custom file (safe)
|
||||
#################################
|
||||
home.file.".config/stylix/stylix.conf" = {
|
||||
text = stylixConf;
|
||||
force = true;
|
||||
};
|
||||
|
||||
#################################
|
||||
# Environment variables
|
||||
#################################
|
||||
home.sessionVariables = {
|
||||
STYLIX_CONF = "$HOME/.config/stylix/stylix.conf";
|
||||
XCURSOR_THEME = cursorName;
|
||||
XCURSOR_SIZE = toString cursorSize;
|
||||
HYPRCURSOR_THEME = cursorName;
|
||||
HYPRCURSOR_SIZE = toString cursorSize;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
homeDir = "/home/${username}";
|
||||
wallpaperSrc = "${flakeRoot}/assets/mymachine/Wallpapers";
|
||||
wallpaperDst = "${homeDir}/Wallpapers";
|
||||
sysName = "awww";
|
||||
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
||||
randoScript = "${homeDir}/.config/${sysName}/scripts/randomizeWallpapers.sh";
|
||||
in
|
||||
{
|
||||
# Make bash available
|
||||
environment.systemPackages = [
|
||||
pkgs.bash
|
||||
pkgs.rsync
|
||||
pkgs.jq
|
||||
pkgs.awww
|
||||
pkgs.waypaper pkgs.socat ];
|
||||
|
||||
# Create the copy script using Home Manager, following Waybar style
|
||||
# This can not be done using a prepared script
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.activation.MakeWallpaperMutable = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
data = ''
|
||||
rm -rf $HOME/.config/${sysName}
|
||||
mkdir -p $HOME/.config/${sysName}
|
||||
cp -r ${assetPath}/* $HOME/.config/${sysName}/
|
||||
chmod -R u+w $HOME/.config/${sysName}/
|
||||
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
|
||||
'';
|
||||
};
|
||||
home.file = {
|
||||
"copy-wallpapers.sh" = {
|
||||
text = ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
set -euo pipefail
|
||||
echo "Running as $(whoami)"
|
||||
echo "Copying wallpapers from ${wallpaperSrc} to ${wallpaperDst} ..."
|
||||
if [ ! -d "${wallpaperSrc}" ]; then
|
||||
echo "ERROR: ${wallpaperSrc} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p "${wallpaperDst}"
|
||||
# Simple copy, overwrite everything
|
||||
cp -r "${wallpaperSrc}/." "${wallpaperDst}/"
|
||||
# Fix permissions
|
||||
chmod -R u+rwx "${wallpaperDst}"
|
||||
echo "Done copying wallpapers."
|
||||
'';
|
||||
executable = true;
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
# User service to run the script that copies the Wallpaperstuff
|
||||
systemd.user.services.copyWallpapers = {
|
||||
description = "Copy wallpapers from repo to ~/Wallpapers";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${homeDir}/copy-wallpapers.sh";
|
||||
Restart = "no";
|
||||
WorkingDirectory = homeDir;
|
||||
};
|
||||
wantedBy = [ "default.target" ];
|
||||
};
|
||||
|
||||
# User service to randomize wallpapers
|
||||
systemd.user.services.randomizeWallpapers = {
|
||||
description = "Randomize wallpapers in ~/Wallpapers/pictures";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${randoScript}";
|
||||
Restart = "no";
|
||||
WorkingDirectory = homeDir;
|
||||
};
|
||||
wantedBy = [ "default.target" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
sysName = "waybar";
|
||||
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [ pkgs.waybar ];
|
||||
|
||||
home-manager.users.${username} = {
|
||||
home.activation.MakeWaybarMutable = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
data = ''
|
||||
rm -rf $HOME/.config/${sysName}
|
||||
mkdir -p $HOME/.config/${sysName}
|
||||
cp -r ${assetPath}/* $HOME/.config/${sysName}/
|
||||
chmod -R u+w $HOME/.config/${sysName}/
|
||||
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.waybar = {
|
||||
description = "Waybar for Hyprland";
|
||||
after = [ "graphical-session.target" ];
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.waybar}/bin/waybar";
|
||||
Restart = "always";
|
||||
Environment = ''
|
||||
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
|
||||
XDG_CURRENT_DESKTOP=Hyprland
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
#################################
|
||||
# Core Wayland packages
|
||||
#################################
|
||||
environment.systemPackages = with pkgs; [
|
||||
wayland
|
||||
wl-clipboard # optional but commonly used for copy/paste
|
||||
];
|
||||
|
||||
#################################
|
||||
# enable graphics stack
|
||||
#################################
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
#################################
|
||||
# Optional session variables for Wayland
|
||||
#################################
|
||||
environment.sessionVariables = {
|
||||
# Forces some apps to use Wayland
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
homeDir = "/home/${username}";
|
||||
|
||||
basePortal = pkgs.xdg-desktop-portal-gtk;
|
||||
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland;
|
||||
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# XDG Desktop Portals (system)
|
||||
#################################
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
|
||||
extraPortals = [
|
||||
basePortal
|
||||
hyprlandPortal
|
||||
];
|
||||
|
||||
config = {
|
||||
common = {
|
||||
default = [ "hyprland" "gtk" ];
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
default = [ "hyprland" "gtk" ];
|
||||
|
||||
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
|
||||
"org.freedesktop.impl.portal.Settings" = [ "gtk" ];
|
||||
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
|
||||
"org.freedesktop.impl.portal.Screenshot" = [ "hyprland" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# System packages
|
||||
#################################
|
||||
environment.systemPackages = with pkgs; [
|
||||
basePortal
|
||||
hyprlandPortal
|
||||
xdg-utils
|
||||
];
|
||||
|
||||
#################################
|
||||
# Home Manager user config
|
||||
#################################
|
||||
home-manager.users.${username} = {
|
||||
|
||||
#################################
|
||||
# XDG user directories
|
||||
#################################
|
||||
xdg.userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
|
||||
desktop = null;
|
||||
download = "${homeDir}/Downloads";
|
||||
documents = "${homeDir}/Documents";
|
||||
pictures = "${homeDir}/Pictures";
|
||||
music = "${homeDir}/Music";
|
||||
publicShare = "${homeDir}/PublicShare";
|
||||
templates = "${homeDir}/Templates";
|
||||
videos = "${homeDir}/Videos";
|
||||
|
||||
extraConfig = {
|
||||
XDG_PROJECTS_DIR = "${homeDir}/Projects";
|
||||
XDG_WORK_DIR = "${homeDir}/Work";
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# MIME applications (FULL TRANSLATION)
|
||||
#################################
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
|
||||
#################################
|
||||
# Default Applications
|
||||
#################################
|
||||
defaultApplications = {
|
||||
# Web links
|
||||
"x-scheme-handler/http" = "zen.desktop";
|
||||
"x-scheme-handler/https" = "zen.desktop";
|
||||
"x-scheme-handler/chrome" = "zen.desktop";
|
||||
|
||||
# Web / HTML
|
||||
"text/html" = "zen.desktop";
|
||||
|
||||
"application/xhtml+xml" = "zen.desktop";
|
||||
"application/x-extension-html" = "zen.desktop";
|
||||
"application/x-extension-htm" = "zen.desktop";
|
||||
"application/x-extension-shtml" = "zen.desktop";
|
||||
"application/x-extension-xhtml" = "zen.desktop";
|
||||
"application/x-extension-xht" = "zen.desktop";
|
||||
|
||||
# Text files → Zed
|
||||
"text/plain" = "dev.zed.Zed.desktop";
|
||||
|
||||
# Shell scripts (you had dual intent here)
|
||||
"application/x-shellscript" = "kitty-open.desktop";
|
||||
};
|
||||
|
||||
#################################
|
||||
# Added Associations (fallback / "Open With")
|
||||
#################################
|
||||
associations.added = {
|
||||
"text/plain" = [
|
||||
"dev.zed.Zed.desktop"
|
||||
];
|
||||
|
||||
"application/x-shellscript" = [
|
||||
"dev.zed.Zed.desktop"
|
||||
"kitty-open.desktop"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
############################
|
||||
# Audio system
|
||||
############################
|
||||
|
||||
# Disable PulseAudio (PipeWire replaces it)
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true; # PulseAudio compatibility layer
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
pavucontrol # GUI mixer
|
||||
pamixer # CLI mixer
|
||||
playerctl # Player controls
|
||||
alsa-utils # aplay, amixer etc.
|
||||
pwvucontrol # PipeWire volume control (optional but useful)
|
||||
alsa-tools # troubleshooting
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ ... }:
|
||||
{
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
publish = {
|
||||
enable = true;
|
||||
addresses = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, home-manager, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
in
|
||||
{
|
||||
|
||||
|
||||
############################
|
||||
# Bluetooth daemon
|
||||
############################
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
package = pkgs.bluez;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [ blueman ];
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
colors = {
|
||||
border = "#96cdd2";
|
||||
crust = "#11111b";
|
||||
mantle = "#181825";
|
||||
base = "#1e1e2e";
|
||||
surface0 = "#313244";
|
||||
surface1 = "#45475a";
|
||||
surface2 = "#585b70";
|
||||
overlay0 = "#6c7086";
|
||||
overlay1 = "#7f849c";
|
||||
overlay2 = "#9399b2";
|
||||
subtext0 = "#a6adc8";
|
||||
subtext1 = "#bac2de";
|
||||
text = "#cdd6f4";
|
||||
rosewater = "#f5e0dc";
|
||||
flamingo = "#f2cdcd";
|
||||
pink = "#f5c2e7";
|
||||
mauve = "#cba6f7";
|
||||
red = "#f38ba8";
|
||||
maroon = "#eba0ac";
|
||||
peach = "#fab387";
|
||||
yellow = "#f9e2af";
|
||||
green = "#a6e3a1";
|
||||
teal = "#94e2d5";
|
||||
sapphire = "#74c7ec";
|
||||
blue = "#89b4fa";
|
||||
lavender = "#b4befe";
|
||||
};
|
||||
|
||||
username = config.defaultUser or "henrov";
|
||||
|
||||
qmlContent = ''
|
||||
pragma Singleton
|
||||
// Catppuccin Mocha Palette - auto-generated, do not edit manually
|
||||
import QtQuick
|
||||
QtObject {
|
||||
readonly property color baseAlpha: Qt.rgba(30/255, 30/255, 46/255, 0.9)
|
||||
'' + lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList (name: value:
|
||||
" readonly property color ${name}: \"${value}\""
|
||||
) colors
|
||||
) + "\n}";
|
||||
|
||||
in
|
||||
{
|
||||
home-manager.users.${username} = {
|
||||
home.file = {
|
||||
".config/shared/css/colors.css" = {
|
||||
source = "${flakeRoot}/generated/.config/shared/css/colors.css";
|
||||
force = true;
|
||||
};
|
||||
".config/quickshell/Colors.qml" = {
|
||||
text = qmlContent;
|
||||
force = true;
|
||||
};
|
||||
".config/quickshell/powermenu/Colors.qml" = {
|
||||
text = qmlContent;
|
||||
force = true;
|
||||
};
|
||||
".config/quickshell/powermenu/qmldir" = {
|
||||
text = "singleton Colors 1.0 Colors.qml";
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
configPath = flakeRoot + "/generated/.config/shared/scripts";
|
||||
allFiles = lib.filesystem.listFilesRecursive configPath;
|
||||
|
||||
toRelative = file:
|
||||
let
|
||||
base = toString flakeRoot + "/generated/";
|
||||
relative = lib.removePrefix base (toString file);
|
||||
in
|
||||
builtins.unsafeDiscardStringContext relative;
|
||||
|
||||
isShellScript = file:
|
||||
lib.hasSuffix ".sh" (toString file);
|
||||
|
||||
toFileEntry = file: {
|
||||
name = toRelative file;
|
||||
value = {
|
||||
source = file;
|
||||
executable = isShellScript file;
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.file = builtins.listToAttrs (map toFileEntry allFiles);
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Enable classic D-Bus service
|
||||
services.dbus.enable = true;
|
||||
|
||||
# Use default dbus package (classic D-Bus)
|
||||
services.dbus.dbusPackage = pkgs.dbus;
|
||||
|
||||
# Include some essential system packages so shell and tools exist
|
||||
environment.systemPackages = with pkgs; [
|
||||
bashInteractive
|
||||
coreutils
|
||||
];
|
||||
|
||||
# Do not attempt to wrap dbus-daemon-launch-helper manually
|
||||
# No extra security.wrappers needed
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
# Use nftables as the firewall backend
|
||||
networking.nftables.enable = true;
|
||||
|
||||
networking.firewall = {
|
||||
enable = true;
|
||||
|
||||
filterForward = false; # don't filter forwarded traffic
|
||||
# outbound is allowed by default UNLESS you've set:
|
||||
|
||||
# LAN-only ports — Wi-Fi interface
|
||||
interfaces."wlan0" = {
|
||||
allowedTCPPorts = [
|
||||
22 # SSH
|
||||
80 # allow HTTP globally for outbound
|
||||
443 # allow HTTPS globally for outbound
|
||||
631 # CUPS / IPP network printing
|
||||
9100 # AppSocket/JetDirect printing
|
||||
6566 # SANE network scanner
|
||||
57621 # Spotify Connect
|
||||
57622 # Spotify local file sync
|
||||
];
|
||||
allowedTCPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
5353 # mDNS / Avahi (printer + device discovery)
|
||||
631 # CUPS / IPP
|
||||
67 # DHCP
|
||||
123 # NTP time sync
|
||||
1900 # UPnP device discovery
|
||||
57621 # Spotify Connect
|
||||
];
|
||||
allowedUDPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
};
|
||||
|
||||
# LAN-only ports — ethernet (ready for when you plug in)
|
||||
interfaces."enp0s31f6" = {
|
||||
allowedTCPPorts = [
|
||||
631 # CUPS / IPP network printing
|
||||
9100 # AppSocket/JetDirect printing
|
||||
6566 # SANE network scanner
|
||||
57621 # Spotify Connect
|
||||
57622 # Spotify local file sync
|
||||
];
|
||||
allowedTCPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
5353 # mDNS / Avahi (printer + device discovery)
|
||||
631 # CUPS / IPP
|
||||
67 # DHCP
|
||||
123 # NTP time sync
|
||||
1900 # UPnP device discovery
|
||||
57621 # Spotify Connect
|
||||
];
|
||||
allowedUDPPortRanges = [
|
||||
{ from = 1714; to = 1764; } # KDE Connect
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# CLI tool for temporary rule changes without rebuilding
|
||||
# Usage: sudo nixos-firewall-tool open tcp 8080
|
||||
environment.systemPackages = with pkgs; [
|
||||
nixos-firewall-tool
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
##################################################
|
||||
# Core services
|
||||
##################################################
|
||||
|
||||
# Enable GNOME Keyring
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
##################################################
|
||||
# PAM (auto unlock keyring on login)
|
||||
##################################################
|
||||
|
||||
security.pam.services = {
|
||||
login.enableGnomeKeyring = true;
|
||||
greetd.enableGnomeKeyring = true;
|
||||
sddm.enableGnomeKeyring = true;
|
||||
gdm.enableGnomeKeyring = true;
|
||||
};
|
||||
|
||||
##################################################
|
||||
# Environment packages
|
||||
##################################################
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
polkit_gnome
|
||||
seahorse
|
||||
libsecret
|
||||
];
|
||||
|
||||
##################################################
|
||||
# Security / Polkit
|
||||
##################################################
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
basePath = "${flakeRoot}/generated/.config";
|
||||
assetPath = "${flakeRoot}/generated/.config/hypr";
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Install hypridle system-wide
|
||||
#################################
|
||||
environment.systemPackages = [ pkgs.hypridle ];
|
||||
|
||||
#################################
|
||||
# Deploy config
|
||||
#################################
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.file = {
|
||||
".config/hypr/hypridle.conf" = {
|
||||
text = builtins.readFile "${assetPath}/hypridle.conf";
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# Systemd user service
|
||||
#################################
|
||||
systemd.user.services.hypridle = {
|
||||
description = "Hypridle (Hyprland idle daemon)";
|
||||
after = [ "hyprland-session.target" ];
|
||||
bindsTo = [ "hyprland-session.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.hypridle}/bin/hypridle";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
Environment = [
|
||||
"HOME=/home/${username}"
|
||||
"WAYLAND_DISPLAY=wayland-1"
|
||||
"XDG_RUNTIME_DIR=/run/user/1000"
|
||||
];
|
||||
};
|
||||
wantedBy = [ "hyprland-session.target" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
basePath = "${flakeRoot}/generated/.config";
|
||||
assetPath = "${flakeRoot}/generated/.config/hypr";
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Install hyprlock system-wide
|
||||
#################################
|
||||
environment.systemPackages = [
|
||||
pkgs.hyprlock
|
||||
];
|
||||
|
||||
#################################
|
||||
# Deploy configuration file
|
||||
#################################
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.file = {
|
||||
".config/hypr/hyprlock.conf" = {
|
||||
text = builtins.readFile "${assetPath}/hyprlock.conf";
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# Optional: helper systemd user service (manual start use)
|
||||
#################################
|
||||
systemd.user.services.hyprlock = {
|
||||
description = "Hyprlock (manual lock session)";
|
||||
after = [ "graphical-session.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.hyprlock}/bin/hyprlock";
|
||||
Restart = "no";
|
||||
Environment = ''
|
||||
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
|
||||
XDG_CURRENT_DESKTOP=Hyprland
|
||||
'';
|
||||
};
|
||||
|
||||
wantedBy = [ ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
tuigreetBin = "${pkgs.tuigreet}/bin/tuigreet";
|
||||
sessionsDir = "${pkgs.uwsm}/share/wayland-sessions";
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Greetd (tuigreet)
|
||||
#################################
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = ''
|
||||
${tuigreetBin} \
|
||||
--time \
|
||||
--remember \
|
||||
--remember-session \
|
||||
--sessions ${sessionsDir} \
|
||||
--cmd "uwsm start -e -D Hyprland hyprland.desktop"
|
||||
'';
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
#################################
|
||||
# Fix TTY / boot noise issues
|
||||
#################################
|
||||
systemd.services.greetd.serviceConfig = {
|
||||
Type = "idle";
|
||||
StandardInput = "tty";
|
||||
StandardOutput = "tty";
|
||||
StandardError = "journal";
|
||||
TTYPath = "/dev/tty1";
|
||||
TTYReset = true;
|
||||
TTYVHangup = true;
|
||||
TTYVTDisallocate = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
#################################
|
||||
# Networking core
|
||||
#################################
|
||||
networking = {
|
||||
# Let DHCP be default unless overridden elsewhere
|
||||
useDHCP = lib.mkDefault true;
|
||||
|
||||
#################################
|
||||
# NetworkManager (primary stack)
|
||||
#################################
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
# Use iwd backend for WiFi
|
||||
wifi.backend = "iwd";
|
||||
};
|
||||
|
||||
#################################
|
||||
# iwd (WiFi daemon)
|
||||
#################################
|
||||
wireless.iwd = {
|
||||
enable = true;
|
||||
# Allow user control via NM / CLI
|
||||
settings.General.EnableNetworkConfiguration = true;
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# System packages
|
||||
#################################
|
||||
environment.systemPackages = [
|
||||
pkgs.networkmanager
|
||||
pkgs.linux-firmware
|
||||
pkgs.networkmanagerapplet
|
||||
pkgs.networkmanager_dmenu
|
||||
# pkgs.iwgtk
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
nix.settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
download-buffer-size = 536870912; # 512 MB
|
||||
cores = 8;
|
||||
max-jobs = "auto";
|
||||
};
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
|
||||
boot.loader.systemd-boot.configurationLimit = 3;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
scriptSrc = "${flakeRoot}/generated/.config/shared/scripts/numlock-check.sh";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [ pkgs.numlockx pkgs.libinput ];
|
||||
|
||||
home-manager.users.${username} = {
|
||||
home.activation.installNumlockScript = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
data = ''
|
||||
mkdir -p $HOME/.config/shared/scripts
|
||||
cp --remove-destination --dereference ${scriptSrc} $HOME/.config/shared/scripts/numlock-check.sh
|
||||
chmod u+x $HOME/.config/shared/scripts/numlock-check.sh
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.numlock-check = {
|
||||
description = "Check and set numlock based on keyboard count";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "%h/.config/shared/scripts/numlock-check.sh";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.timers.numlock-check = {
|
||||
description = "Run numlock check periodically";
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnBootSec = "5s";
|
||||
OnUnitActiveSec = "10s";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
############################
|
||||
# Printing system
|
||||
############################
|
||||
services.printing.enable = true; # enable CUPS printing service
|
||||
|
||||
############################
|
||||
# System packages for GUI management
|
||||
############################
|
||||
environment.systemPackages = with pkgs; [
|
||||
system-config-printer # GUI to manage printers
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ pkgs, lib, config, flakeRoot, quickshell, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
sysName = "quickshell";
|
||||
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
||||
quickshellPkg = quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
quickshellPkg
|
||||
qt6.qtdeclarative
|
||||
qt6.qttools
|
||||
qt6.qtsvg
|
||||
qt6.qtimageformats
|
||||
qt6.qtmultimedia
|
||||
qt6.qt5compat
|
||||
];
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "qt5ct";
|
||||
};
|
||||
|
||||
home-manager.users.${username} = {
|
||||
home.activation.quickshellMutableFiles = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
data = ''
|
||||
rm -rf $HOME/.config/${sysName}
|
||||
mkdir -p $HOME/.config/${sysName}
|
||||
cp -r ${assetPath}/* $HOME/.config/${sysName}/
|
||||
chmod -R u+w $HOME/.config/${sysName}/
|
||||
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
assetPath = "${flakeRoot}/generated/.config/swaync";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [ pkgs.swaynotificationcenter pkgs.libnotify ];
|
||||
|
||||
home-manager.users.${username} = {
|
||||
# Do NOT enable services.swaync — it would claim the config files
|
||||
# and conflict with our home.file entries below.
|
||||
|
||||
home.file = {
|
||||
".config/swaync/config.json" = {
|
||||
text = builtins.readFile "${assetPath}/config.json";
|
||||
force = true;
|
||||
};
|
||||
".config/swaync/style.css" = {
|
||||
text = builtins.replaceStrings ["henrov"] [username] (builtins.readFile "${assetPath}/style.css");
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Autostart swaync as a systemd user service instead
|
||||
systemd.user.services.swaync = {
|
||||
description = "SwayNotificationCenter";
|
||||
after = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.swaynotificationcenter}/bin/swaync";
|
||||
Restart = "always";
|
||||
Environment = [
|
||||
"WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-1"}"
|
||||
"XDG_CURRENT_DESKTOP=Hyprland"
|
||||
];
|
||||
};
|
||||
wantedBy = [ "default.target" ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user