1
1
Fork 0

Compare commits

..

No commits in common. "ab485dec3523b41265d741156a954771fdd9a41b" and "32f419cdb1e77dc314873531cf7358ce2c43382b" have entirely different histories.

177 changed files with 2128 additions and 1854 deletions

View file

@ -3,26 +3,33 @@
inputs, inputs,
lib, lib,
... ...
}: { }:
age.secrets = let
{
age.secrets =
let
secret = filename: { secret = filename: {
file = "${inputs.self}/secrets/${filename}"; file = "${inputs.self}/secrets/${filename}";
}; };
in { in
{
"common/nix/access-tokens.conf" = secret "common/nix/access-tokens.conf"; "common/nix/access-tokens.conf" = secret "common/nix/access-tokens.conf";
}; };
### NixOS ### NixOS
nixpkgs = let nixpkgs =
let
config = { config = {
allowUnfree = true; allowUnfree = true;
allowInsecurePredicate = pkg: let allowInsecurePredicate =
pkg:
let
name = lib.getName pkg; name = lib.getName pkg;
in in
# HACK: Allow all insecure electron versions # HACK: Allow all insecure electron versions
name name == "electron"
== "electron"
# HACK: Some Matrix clients rely on libolm, which is deprecated # HACK: Some Matrix clients rely on libolm, which is deprecated
# https://github.com/NixOS/nixpkgs/pull/334638 # https://github.com/NixOS/nixpkgs/pull/334638
|| name == "cinny" || name == "cinny"
@ -31,13 +38,16 @@
|| name == "olm" || name == "olm"
|| name == "openssl"; # Cisco Packet Tracer || name == "openssl"; # Cisco Packet Tracer
}; };
in { in
{
inherit config; inherit config;
overlays = [ overlays = [
( (
final: prev: let final: prev:
nixpkgs = branch: let
nixpkgs =
branch:
import inputs."nixpkgs-${branch}" { import inputs."nixpkgs-${branch}" {
inherit config; inherit config;
system = prev.system; system = prev.system;
@ -47,7 +57,8 @@
unstable = nixpkgs "unstable"; unstable = nixpkgs "unstable";
staging-next = nixpkgs "staging-next"; staging-next = nixpkgs "staging-next";
local = nixpkgs "local"; local = nixpkgs "local";
in { in
{
# Overlay nixpkgs branches # Overlay nixpkgs branches
#?? nixpkgs.BRANCH.PACKAGE #?? nixpkgs.BRANCH.PACKAGE
inherit stable unstable staging-next; inherit stable unstable staging-next;

View file

@ -1,4 +1,5 @@
# Do not modify! This file is generated. # Do not modify! This file is generated.
{ {
inputs = { inputs = {
aagl-gtk-on-nix-stable = { aagl-gtk-on-nix-stable = {

View file

@ -7,7 +7,9 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: { }:
{
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [

View file

@ -7,7 +7,9 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: { }:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [

View file

@ -7,7 +7,9 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: { }:
{
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [

View file

@ -7,7 +7,9 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: { }:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [

View file

@ -4,9 +4,12 @@
lib, lib,
pkgs, pkgs,
... ...
}: let }:
let
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
in { in
{
imports = [ imports = [
inputs.nixos-hardware.nixosModules.framework-13-7040-amd inputs.nixos-hardware.nixosModules.framework-13-7040-amd

View file

@ -7,7 +7,9 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: { }:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [

View file

@ -7,7 +7,9 @@
pkgs, pkgs,
modulesPath, modulesPath,
... ...
}: { }:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ ]; boot.initrd.availableKernelModules = [ ];

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom; cfg = config.custom;
in { in
{
options.custom = { options.custom = {
### Profiles ### Profiles
default = mkOption { default = true; }; default = mkOption { default = true; };

View file

@ -1,8 +1,7 @@
{ config, lib, ... }:
with lib;
{ {
config,
lib,
...
}:
with lib; {
config.custom.desktops.hyprland.enable = config.custom.full; config.custom.desktops.hyprland.enable = config.custom.full;
} }

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.desktops.gnome; cfg = config.custom.desktops.gnome;
in { in
{
options.custom.desktops.gnome = { options.custom.desktops.gnome = {
enable = mkOption { default = false; }; enable = mkOption { default = false; };
gdm = mkOption { default = true; }; gdm = mkOption { default = true; };

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.desktops.hyprland; cfg = config.custom.desktops.hyprland;
in { in
{
options.custom.desktops.hyprland.enable = mkOption { default = false; }; options.custom.desktops.hyprland.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -4,11 +4,15 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
hyprctl = "${pkgs.hyprland}/bin/hyprctl"; hyprctl = "${pkgs.hyprland}/bin/hyprctl";
cfg = config.custom.desktops.hyprland.plugins; cfg = config.custom.desktops.hyprland.plugins;
in { in
{
options.custom.desktops.hyprland.plugins.enable = mkOption { default = false; }; options.custom.desktops.hyprland.plugins.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -4,7 +4,10 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
clipse = "${pkgs.clipse}/bin/clipse"; clipse = "${pkgs.clipse}/bin/clipse";
firefox-esr = "${ firefox-esr = "${
config.home-manager.users.${config.custom.username}.programs.firefox.finalPackage config.home-manager.users.${config.custom.username}.programs.firefox.finalPackage
@ -19,7 +22,8 @@ with lib; let
}/bin/waybar"; }/bin/waybar";
cfg = config.custom.desktops.hyprland.settings; cfg = config.custom.desktops.hyprland.settings;
in { in
{
options.custom.desktops.hyprland.settings.enable = mkOption { default = false; }; options.custom.desktops.hyprland.settings.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
@ -47,12 +51,12 @@ in {
#?? envd = VARIABLE, VALUE #?? envd = VARIABLE, VALUE
# HACK: Mapped home-manager variables to envd in lieu of upstream fix # HACK: Mapped home-manager variables to envd in lieu of upstream fix
# https://github.com/nix-community/home-manager/issues/2659 # https://github.com/nix-community/home-manager/issues/2659
envd = with builtins; envd =
with builtins;
attrValues ( attrValues (
mapAttrs ( mapAttrs (
name: value: "${name}, ${toString value}" name: value: "${name}, ${toString value}"
) ) config.home-manager.users.${config.custom.username}.home.sessionVariables
config.home-manager.users.${config.custom.username}.home.sessionVariables
) )
++ [ ++ [
"EDITOR, gnome-text-editor" "EDITOR, gnome-text-editor"
@ -62,8 +66,7 @@ in {
#// exec = [ ]; #// exec = [ ];
# https://wiki.hyprland.org/Configuring/Keywords/#executing # https://wiki.hyprland.org/Configuring/Keywords/#executing
exec-once = exec-once = [
[
"${rm} ~/.config/qalculate/qalc.dmenu.history" # Clear calc history "${rm} ~/.config/qalculate/qalc.dmenu.history" # Clear calc history
"${clipse} -clear" # Clear clipboard history "${clipse} -clear" # Clear clipboard history
"${clipse} -listen" # Monitor clipboard "${clipse} -listen" # Monitor clipboard
@ -140,10 +143,7 @@ in {
"col.inactive" = "rgba(6c71c440)"; "col.inactive" = "rgba(6c71c440)";
"col.locked_active" = "rgb(d33682)"; "col.locked_active" = "rgb(d33682)";
"col.locked_inactive" = "rgba(d3368240)"; "col.locked_inactive" = "rgba(d3368240)";
font_size = font_size = if config.custom.hidpi then 16 else 10;
if config.custom.hidpi
then 16
else 10;
height = 5; height = 5;
render_titles = false; render_titles = false;
text_color = "rgb(93a1a1)"; text_color = "rgb(93a1a1)";

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.desktops.kde; cfg = config.custom.desktops.kde;
in { in
{
options.custom.desktops.kde.enable = mkOption { default = false; }; options.custom.desktops.kde.enable = mkOption { default = false; };
config = mkIf cfg.enable { services.desktopManager.plasma6.enable = true; }; config = mkIf cfg.enable { services.desktopManager.plasma6.enable = true; };

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.files.agenix; cfg = config.custom.files.agenix;
in { in
{
# https://wiki.nixos.org/wiki/Agenix # https://wiki.nixos.org/wiki/Agenix
# https://github.com/ryantm/agenix # https://github.com/ryantm/agenix
options.custom.files.agenix.enable = mkOption { default = false; }; options.custom.files.agenix.enable = mkOption { default = false; };

View file

@ -1,9 +1,8 @@
{ config, lib, ... }:
with lib;
{ {
config,
lib,
...
}:
with lib; {
config.custom.files = mkIf config.custom.default { config.custom.files = mkIf config.custom.default {
agenix.enable = true; agenix.enable = true;
dev.enable = true; dev.enable = true;

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.files.dev; cfg = config.custom.files.dev;
in { in
{
options.custom.files.dev.enable = mkOption { default = false; }; options.custom.files.dev.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.files.mnt; cfg = config.custom.files.mnt;
in { in
{
options.custom.files.mnt.enable = mkOption { default = false; }; options.custom.files.mnt.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.files.nixos; cfg = config.custom.files.nixos;
in { in
{
options.custom.files.nixos.enable = mkOption { default = false; }; options.custom.files.nixos.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.adb; cfg = config.custom.programs.adb;
in { in
{
options.custom.programs.adb.enable = mkOption { default = false; }; options.custom.programs.adb.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
lib, lib,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.ags; cfg = config.custom.programs.ags;
in { in
{
options.custom.programs.ags.enable = mkOption { default = false; }; options.custom.programs.ags.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.alacritty; cfg = config.custom.programs.alacritty;
in { in
{
options.custom.programs.alacritty.enable = mkOption { default = false; }; options.custom.programs.alacritty.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.anime-game-launcher; cfg = config.custom.programs.anime-game-launcher;
in { in
{
options.custom.programs.anime-game-launcher.enable = mkOption { default = false; }; options.custom.programs.anime-game-launcher.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.appimage; cfg = config.custom.programs.appimage;
in { in
{
options.custom.programs.appimage.enable = mkOption { default = false; }; options.custom.programs.appimage.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,13 +1,13 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi"; wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi";
cfg = config.custom.programs.bitwarden-menu; cfg = config.custom.programs.bitwarden-menu;
in { in
{
options.custom.programs.bitwarden-menu.enable = mkOption { default = false; }; options.custom.programs.bitwarden-menu.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.chromium; cfg = config.custom.programs.chromium;
in { in
{
options.custom.programs.chromium.enable = mkOption { default = false; }; options.custom.programs.chromium.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.clipse; cfg = config.custom.programs.clipse;
in { in
{
options.custom.programs.clipse.enable = mkOption { default = false; }; options.custom.programs.clipse.enable = mkOption { default = false; };
config = { config = {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.dconf; cfg = config.custom.programs.dconf;
in { in
{
options.custom.programs.dconf.enable = mkOption { default = false; }; options.custom.programs.dconf.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,9 +1,8 @@
{ config, lib, ... }:
with lib;
{ {
config,
lib,
...
}:
with lib; {
config.custom.programs = mkMerge [ config.custom.programs = mkMerge [
(mkIf config.custom.default { (mkIf config.custom.default {
direnv.enable = true; direnv.enable = true;

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.direnv; cfg = config.custom.programs.direnv;
in { in
{
options.custom.programs.direnv.enable = mkOption { default = false; }; options.custom.programs.direnv.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.discord; cfg = config.custom.programs.discord;
in { in
{
options.custom.programs.discord.enable = mkOption { default = false; }; options.custom.programs.discord.enable = mkOption { default = false; };
config.home-manager.users.myned = mkIf cfg.enable { config.home-manager.users.myned = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.element-desktop; cfg = config.custom.programs.element-desktop;
in { in
{
options.custom.programs.element-desktop.enable = mkOption { default = false; }; options.custom.programs.element-desktop.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -4,11 +4,15 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
fastfetch = "${pkgs.fastfetch}/bin/fastfetch"; fastfetch = "${pkgs.fastfetch}/bin/fastfetch";
cfg = config.custom.programs.fastfetch; cfg = config.custom.programs.fastfetch;
in { in
{
options.custom.programs.fastfetch = { options.custom.programs.fastfetch = {
enable = mkOption { default = false; }; enable = mkOption { default = false; };
greet = mkOption { default = false; }; greet = mkOption { default = false; };

View file

@ -5,9 +5,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.firefox; cfg = config.custom.programs.firefox;
in { in
{
options.custom.programs.firefox.enable = mkOption { default = false; }; options.custom.programs.firefox.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
@ -112,7 +116,8 @@ in {
# https://mozilla.github.io/policy-templates/#extensionsettings # https://mozilla.github.io/policy-templates/#extensionsettings
#?? https://addons.mozilla.org/en-US/firefox #?? https://addons.mozilla.org/en-US/firefox
#?? about:support#addons #?? about:support#addons
ExtensionSettings = let ExtensionSettings =
let
extension = id: { extension = id: {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi";
installation_mode = "normal_installed"; installation_mode = "normal_installed";
@ -189,12 +194,14 @@ in {
#!! Only certain preferences are supported via policies #!! Only certain preferences are supported via policies
# https://mozilla.github.io/policy-templates/#preferences # https://mozilla.github.io/policy-templates/#preferences
#?? about:config #?? about:config
Preferences = let Preferences =
let
locked = value: { locked = value: {
Value = value; Value = value;
Status = "locked"; Status = "locked";
}; };
in { in
{
"accessibility.browsewithcaret" = locked false; "accessibility.browsewithcaret" = locked false;
"accessibility.typeaheadfind" = locked false; "accessibility.typeaheadfind" = locked false;
"browser.aboutConfig.showWarning" = locked false; "browser.aboutConfig.showWarning" = locked false;

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.fish; cfg = config.custom.programs.fish;
in { in
{
options.custom.programs.fish.enable = mkOption { default = false; }; options.custom.programs.fish.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.foot; cfg = config.custom.programs.foot;
in { in
{
options.custom.programs.foot.enable = mkOption { default = false; }; options.custom.programs.foot.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.fuzzel; cfg = config.custom.programs.fuzzel;
in { in
{
options.custom.programs.fuzzel.enable = mkOption { default = false; }; options.custom.programs.fuzzel.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.gamemode; cfg = config.custom.programs.gamemode;
in { in
{
options.custom.programs.gamemode.enable = mkOption { default = false; }; options.custom.programs.gamemode.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.gamescope; cfg = config.custom.programs.gamescope;
in { in
{
options.custom.programs.gamescope.enable = mkOption { default = false; }; options.custom.programs.gamescope.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.git; cfg = config.custom.programs.git;
in { in
{
options.custom.programs.git.enable = mkOption { default = false; }; options.custom.programs.git.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.gnome-shell; cfg = config.custom.programs.gnome-shell;
in { in
{
options.custom.programs.gnome-shell.enable = mkOption { default = false; }; options.custom.programs.gnome-shell.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
@ -14,7 +18,8 @@ in {
programs.gnome-shell = { programs.gnome-shell = {
enable = true; enable = true;
extensions = with pkgs.gnomeExtensions; extensions =
with pkgs.gnomeExtensions;
optionals config.custom.default [ optionals config.custom.default [
{ package = appindicator; } # https://github.com/ubuntu/gnome-shell-extension-appindicator { package = appindicator; } # https://github.com/ubuntu/gnome-shell-extension-appindicator
] ]

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.gnome-terminal; cfg = config.custom.programs.gnome-terminal;
in { in
{
options.custom.programs.gnome-terminal.enable = mkOption { default = false; }; options.custom.programs.gnome-terminal.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.gpg; cfg = config.custom.programs.gpg;
in { in
{
options.custom.programs.gpg.enable = mkOption { default = false; }; options.custom.programs.gpg.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.htop; cfg = config.custom.programs.htop;
in { in
{
options.custom.programs.htop.enable = mkOption { default = false; }; options.custom.programs.htop.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.hyprlock; cfg = config.custom.programs.hyprlock;
in { in
{
options.custom.programs.hyprlock.enable = mkOption { default = false; }; options.custom.programs.hyprlock.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.kdeconnect; cfg = config.custom.programs.kdeconnect;
in { in
{
options.custom.programs.kdeconnect.enable = mkOption { default = false; }; options.custom.programs.kdeconnect.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.kitty; cfg = config.custom.programs.kitty;
in { in
{
options.custom.programs.kitty.enable = mkOption { default = false; }; options.custom.programs.kitty.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.libreoffice; cfg = config.custom.programs.libreoffice;
in { in
{
options.custom.programs.libreoffice = { options.custom.programs.libreoffice = {
enable = mkOption { default = false; }; enable = mkOption { default = false; };
package = mkOption { default = pkgs.libreoffice-fresh; }; package = mkOption { default = pkgs.libreoffice-fresh; };

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.librewolf; cfg = config.custom.programs.librewolf;
in { in
{
options.custom.programs.librewolf.enable = mkOption { default = false; }; options.custom.programs.librewolf.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,16 +1,15 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.localsend; cfg = config.custom.programs.localsend;
in { in
{
options.custom.programs.localsend.enable = mkOption { default = false; }; options.custom.programs.localsend.enable = mkOption { default = false; };
config = config =
if (versionAtLeast version "24.11") if (versionAtLeast version "24.11") then
then
(mkIf cfg.enable { (mkIf cfg.enable {
# https://github.com/localsend/localsend # https://github.com/localsend/localsend
programs.localsend = { programs.localsend = {
@ -18,5 +17,6 @@ in {
openFirewall = true; openFirewall = true;
}; };
}) })
else {}; else
{ };
} }

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.logseq; cfg = config.custom.programs.logseq;
in { in
{
options.custom.programs.logseq.enable = mkOption { default = false; }; options.custom.programs.logseq.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.man; cfg = config.custom.programs.man;
in { in
{
options.custom.programs.man.enable = mkOption { default = false; }; options.custom.programs.man.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.mangohud; cfg = config.custom.programs.mangohud;
in { in
{
options.custom.programs.mangohud.enable = mkOption { default = false; }; options.custom.programs.mangohud.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.mosh; cfg = config.custom.programs.mosh;
in { in
{
options.custom.programs.mosh.enable = mkOption { default = false; }; options.custom.programs.mosh.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.nano; cfg = config.custom.programs.nano;
in { in
{
options.custom.programs.nano.enable = mkOption { default = false; }; options.custom.programs.nano.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.nautilus; cfg = config.custom.programs.nautilus;
in { in
{
options.custom.programs.nautilus.enable = mkOption { default = false; }; options.custom.programs.nautilus.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.networkmanager-dmenu; cfg = config.custom.programs.networkmanager-dmenu;
in { in
{
options.custom.programs.networkmanager-dmenu.enable = mkOption { default = false; }; options.custom.programs.networkmanager-dmenu.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
@ -13,9 +13,11 @@ in {
# https://github.com/firecat53/networkmanager-dmenu/blob/main/config.ini.example # https://github.com/firecat53/networkmanager-dmenu/blob/main/config.ini.example
#!! Option not available, files written directly #!! Option not available, files written directly
# FIXME: active_chars does not take effect # FIXME: active_chars does not take effect
home.file.".config/networkmanager-dmenu/config.ini".text = let home.file.".config/networkmanager-dmenu/config.ini".text =
let
wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi"; wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi";
in '' in
''
[dmenu] [dmenu]
dmenu_command = ${wofi} --dmenu --lines 11 dmenu_command = ${wofi} --dmenu --lines 11
active_chars = > active_chars = >

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.nh; cfg = config.custom.programs.nh;
in { in
{
options.custom.programs.nh.enable = mkOption { default = false; }; options.custom.programs.nh.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@ -16,7 +16,7 @@ in {
clean = { clean = {
enable = true; enable = true;
extraArgs = "--keep-since 7d"; extraArgs = "--keep-since ${if config.custom.minimal then "7" else "30"}d";
}; };
}; };
}; };

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.nheko; cfg = config.custom.programs.nheko;
in { in
{
options.custom.programs.nheko.enable = mkOption { default = false; }; options.custom.programs.nheko.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.nix-index; cfg = config.custom.programs.nix-index;
in { in
{
options.custom.programs.nix-index.enable = mkOption { default = false; }; options.custom.programs.nix-index.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.nix-ld; cfg = config.custom.programs.nix-ld;
in { in
{
options.custom.programs.nix-ld.enable = mkOption { default = false; }; options.custom.programs.nix-ld.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.nushell; cfg = config.custom.programs.nushell;
in { in
{
options.custom.programs.nushell.enable = mkOption { default = false; }; options.custom.programs.nushell.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.nvtop; cfg = config.custom.programs.nvtop;
in { in
{
options.custom.programs.nvtop.enable = mkOption { default = false; }; options.custom.programs.nvtop.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.obs-studio; cfg = config.custom.programs.obs-studio;
in { in
{
options.custom.programs.obs-studio.enable = mkOption { default = false; }; options.custom.programs.obs-studio.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.onedrive; cfg = config.custom.programs.onedrive;
in { in
{
options.custom.programs.onedrive.enable = mkOption { default = false; }; options.custom.programs.onedrive.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.path-of-building; cfg = config.custom.programs.path-of-building;
in { in
{
options.custom.programs.path-of-building.enable = mkOption { default = false; }; options.custom.programs.path-of-building.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.rbw; cfg = config.custom.programs.rbw;
in { in
{
options.custom.programs.rbw.enable = mkOption { default = false; }; options.custom.programs.rbw.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.rofi-rbw; cfg = config.custom.programs.rofi-rbw;
in { in
{
options.custom.programs.rofi-rbw.enable = mkOption { default = false; }; options.custom.programs.rofi-rbw.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.rofi; cfg = config.custom.programs.rofi;
in { in
{
options.custom.programs.rofi.enable = mkOption { default = false; }; options.custom.programs.rofi.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.seahorse; cfg = config.custom.programs.seahorse;
in { in
{
options.custom.programs.seahorse.enable = mkOption { default = false; }; options.custom.programs.seahorse.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.slurp; cfg = config.custom.programs.slurp;
in { in
{
options.custom.programs.slurp.enable = mkOption { default = false; }; options.custom.programs.slurp.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.ssh; cfg = config.custom.programs.ssh;
in { in
{
options.custom.programs.ssh.enable = mkOption { default = false; }; options.custom.programs.ssh.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.steam; cfg = config.custom.programs.steam;
in { in
{
# https://wiki.nixos.org/wiki/Steam # https://wiki.nixos.org/wiki/Steam
# https://store.steampowered.com # https://store.steampowered.com
options.custom.programs.steam = { options.custom.programs.steam = {
@ -15,8 +19,7 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.steam = programs.steam = {
{
enable = true; enable = true;
extest.enable = cfg.extest; # Work around invisible cursor on Wayland extest.enable = cfg.extest; # Work around invisible cursor on Wayland
extraCompatPackages = [ pkgs.proton-ge-bin ]; extraCompatPackages = [ pkgs.proton-ge-bin ];
@ -28,7 +31,6 @@ in {
# "--fullscreen" # "--fullscreen"
# ]; # ];
}; };
} } // optionalAttrs (versionAtLeast version "24.11") { protontricks.enable = true; };
// optionalAttrs (versionAtLeast version "24.11") {protontricks.enable = true;};
}; };
} }

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.swaylock; cfg = config.custom.programs.swaylock;
in { in
{
options.custom.programs.swaylock.enable = mkOption { default = false; }; options.custom.programs.swaylock.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -5,9 +5,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.thunderbird; cfg = config.custom.programs.thunderbird;
in { in
{
options.custom.programs.thunderbird.enable = mkOption { default = false; }; options.custom.programs.thunderbird.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.tio; cfg = config.custom.programs.tio;
in { in
{
options.custom.programs.tio.enable = mkOption { default = false; }; options.custom.programs.tio.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.tmux; cfg = config.custom.programs.tmux;
in { in
{
options.custom.programs.tmux.enable = mkOption { default = false; }; options.custom.programs.tmux.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -5,9 +5,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.programs.vscode; cfg = config.custom.programs.vscode;
in { in
{
options.custom.programs.vscode.enable = mkOption { default = false; }; options.custom.programs.vscode.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.wezterm; cfg = config.custom.programs.wezterm;
in { in
{
options.custom.programs.wezterm.enable = mkOption { default = false; }; options.custom.programs.wezterm.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.wireshark; cfg = config.custom.programs.wireshark;
in { in
{
options.custom.programs.wireshark.enable = mkOption { default = false; }; options.custom.programs.wireshark.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.wofi; cfg = config.custom.programs.wofi;
in { in
{
options.custom.programs.wofi.enable = mkOption { default = false; }; options.custom.programs.wofi.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.programs.wpaperd; cfg = config.custom.programs.wpaperd;
in { in
{
options.custom.programs.wpaperd.enable = mkOption { default = false; }; options.custom.programs.wpaperd.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -4,14 +4,19 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
# Use packages from local derivation # Use packages from local derivation
git = config.home-manager.users.${config.custom.username}.programs.git.package; git = config.home-manager.users.${config.custom.username}.programs.git.package;
hyprland = hyprland =
config.home-manager.users.${config.custom.username}.wayland.windowManager.hyprland.finalPackage; config.home-manager.users.${config.custom.username}.wayland.windowManager.hyprland.finalPackage;
wofi = config.home-manager.users.${config.custom.username}.programs.wofi.package; wofi = config.home-manager.users.${config.custom.username}.programs.wofi.package;
in { in
config.home-manager.users.${config.custom.username}.home.file = let {
config.home-manager.users.${config.custom.username}.home.file =
let
# Place script.ext in the same directory as this file # Place script.ext in the same directory as this file
#?? pkg = (SHELL "NAME" [ DEPENDENCIES ]) #?? pkg = (SHELL "NAME" [ DEPENDENCIES ])
# https://nixos.org/manual/nixpkgs/unstable/#trivial-builder-writeShellApplication # https://nixos.org/manual/nixpkgs/unstable/#trivial-builder-writeShellApplication
@ -167,6 +172,7 @@ in {
swww swww
tailscale tailscale
]) ])
] ]
++ (with pkgs.python3Packages; [ ++ (with pkgs.python3Packages; [
# Python files with extension .py # Python files with extension .py

View file

@ -4,12 +4,16 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cat = "${pkgs.coreutils}/bin/cat"; cat = "${pkgs.coreutils}/bin/cat";
sed = "${pkgs.gnused}/bin/sed"; sed = "${pkgs.gnused}/bin/sed";
cfg = config.custom.services.agenix; cfg = config.custom.services.agenix;
in { in
{
options.custom.services.agenix.enable = mkOption { default = false; }; options.custom.services.agenix.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.services.auto-cpufreq; cfg = config.custom.services.auto-cpufreq;
in { in
{
options.custom.services.auto-cpufreq = { options.custom.services.auto-cpufreq = {
enable = mkOption { default = false; }; enable = mkOption { default = false; };

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.services.avizo; cfg = config.custom.services.avizo;
in { in
{
options.custom.services.avizo.enable = mkOption { default = false; }; options.custom.services.avizo.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.services.blueman-applet; cfg = config.custom.services.blueman-applet;
in { in
{
options.custom.services.blueman-applet.enable = mkOption { default = false; }; options.custom.services.blueman-applet.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.services.blueman; cfg = config.custom.services.blueman;
in { in
{
options.custom.services.blueman.enable = mkOption { default = false; }; options.custom.services.blueman.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -5,11 +5,15 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cat = "${pkgs.coreutils}/bin/cat"; cat = "${pkgs.coreutils}/bin/cat";
cfg = config.custom.services.borgmatic; cfg = config.custom.services.borgmatic;
in { in
{
# https://wiki.nixos.org/wiki/Borg_backup # https://wiki.nixos.org/wiki/Borg_backup
# https://github.com/borgmatic-collective/borgmatic # https://github.com/borgmatic-collective/borgmatic
#!! Imperative initialization #!! Imperative initialization
@ -64,9 +68,11 @@ in {
}; };
}; };
age.secrets = let age.secrets =
let
secret = filename: { file = "${inputs.self}/secrets/${filename}"; }; secret = filename: { file = "${inputs.self}/secrets/${filename}"; };
in { in
{
"${config.custom.profile}/borgmatic/borgbase.${config.custom.hostname}" = secret "${config.custom.profile}/borgmatic/borgbase.${config.custom.hostname}"; "${config.custom.profile}/borgmatic/borgbase.${config.custom.hostname}" = secret "${config.custom.profile}/borgmatic/borgbase.${config.custom.hostname}";
}; };
}; };

View file

@ -4,19 +4,25 @@
lib, lib,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.services.caddy; cfg = config.custom.services.caddy;
in { in
{
options.custom.services.caddy.enable = mkOption { default = false; }; options.custom.services.caddy.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
age.secrets = let age.secrets =
let
secret = filename: { secret = filename: {
file = "${inputs.self}/secrets/${filename}"; file = "${inputs.self}/secrets/${filename}";
owner = "caddy"; owner = "caddy";
group = "caddy"; group = "caddy";
}; };
in { in
{
"${config.custom.profile}/caddy/Caddyfile" = secret "${config.custom.profile}/caddy/Caddyfile"; "${config.custom.profile}/caddy/Caddyfile" = secret "${config.custom.profile}/caddy/Caddyfile";
}; };

View file

@ -1,13 +1,13 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi"; wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi";
cfg = config.custom.services.clipcat; cfg = config.custom.services.clipcat;
in { in
{
options.custom.services.clipcat.enable = mkOption { default = false; }; options.custom.services.clipcat.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.services.cliphist; cfg = config.custom.services.cliphist;
in { in
{
options.custom.services.cliphist.enable = mkOption { default = false; }; options.custom.services.cliphist.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -5,7 +5,10 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
bash = "${pkgs.bash}/bin/bash"; bash = "${pkgs.bash}/bin/bash";
cat = "${pkgs.coreutils}/bin/cat"; cat = "${pkgs.coreutils}/bin/cat";
sleep = "${pkgs.coreutils}/bin/sleep"; sleep = "${pkgs.coreutils}/bin/sleep";
@ -15,7 +18,8 @@ with lib; let
}/bin/create_ap"; }/bin/create_ap";
cfg = config.custom.services.create_ap; cfg = config.custom.services.create_ap;
in { in
{
options.custom.services.create_ap = { options.custom.services.create_ap = {
enable = mkOption { default = false; }; enable = mkOption { default = false; };
internet = mkOption { default = "eth0"; }; internet = mkOption { default = "eth0"; };
@ -23,9 +27,11 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
age.secrets = let age.secrets =
let
secret = filename: { file = "${inputs.self}/secrets/${filename}"; }; secret = filename: { file = "${inputs.self}/secrets/${filename}"; };
in { in
{
"${config.custom.profile}/create_ap/passphrase" = secret "${config.custom.profile}/create_ap/passphrase"; "${config.custom.profile}/create_ap/passphrase" = secret "${config.custom.profile}/create_ap/passphrase";
"${config.custom.profile}/create_ap/ssid" = secret "${config.custom.profile}/create_ap/ssid"; "${config.custom.profile}/create_ap/ssid" = secret "${config.custom.profile}/create_ap/ssid";
}; };
@ -52,7 +58,8 @@ in {
systemd.services.create_ap.serviceConfig = { systemd.services.create_ap.serviceConfig = {
ExecStartPre = "${sleep} 15s"; # Some cards like Intel force regulatory domain discovery ExecStartPre = "${sleep} 15s"; # Some cards like Intel force regulatory domain discovery
ExecStart = let ExecStart =
let
configFile = pkgs.writeText "create_ap.conf" ( configFile = pkgs.writeText "create_ap.conf" (
generators.toKeyValue { } config.services.create_ap.settings generators.toKeyValue { } config.services.create_ap.settings
); );

View file

@ -4,9 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.services.dbus; cfg = config.custom.services.dbus;
in { in
{
options.custom.services.dbus.enable = mkOption { default = false; }; options.custom.services.dbus.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,9 +1,8 @@
{ config, lib, ... }:
with lib;
{ {
config,
lib,
...
}:
with lib; {
config.custom.services = mkMerge [ config.custom.services = mkMerge [
(mkIf config.custom.default { (mkIf config.custom.default {
#// agenix.enable = true; #// agenix.enable = true;

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.services.easyeffects; cfg = config.custom.services.easyeffects;
in { in
{
options.custom.services.easyeffects.enable = mkOption { default = false; }; options.custom.services.easyeffects.enable = mkOption { default = false; };
config.home-manager.users.${config.custom.username} = mkIf cfg.enable { config.home-manager.users.${config.custom.username} = mkIf cfg.enable {

View file

@ -5,9 +5,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; let
with lib;
let
cfg = config.custom.services.flatpak; cfg = config.custom.services.flatpak;
in { in
{
options.custom.services.flatpak.enable = mkOption { default = false; }; options.custom.services.flatpak.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -1,11 +1,11 @@
{ { config, lib, ... }:
config,
lib, with lib;
...
}: let
with lib; let
cfg = config.custom.services.fprintd; cfg = config.custom.services.fprintd;
in { in
{
options.custom.services.fprintd.enable = mkOption { default = false; }; options.custom.services.fprintd.enable = mkOption { default = false; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

Some files were not shown because too many files have changed in this diff Show more