nix: format with alejandra
Signed-off-by: Myned <dev@bjork.tech>
This commit is contained in:
parent
c78b4ce2ee
commit
b2489b2e04
176 changed files with 2193 additions and 2256 deletions
|
@ -3,33 +3,26 @@
|
|||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
age.secrets =
|
||||
let
|
||||
}: {
|
||||
age.secrets = let
|
||||
secret = filename: {
|
||||
file = "${inputs.self}/secrets/${filename}";
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
"common/nix/access-tokens.conf" = secret "common/nix/access-tokens.conf";
|
||||
};
|
||||
|
||||
### NixOS
|
||||
nixpkgs =
|
||||
let
|
||||
nixpkgs = let
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
|
||||
allowInsecurePredicate =
|
||||
pkg:
|
||||
let
|
||||
allowInsecurePredicate = pkg: let
|
||||
name = lib.getName pkg;
|
||||
in
|
||||
# HACK: Allow all insecure electron versions
|
||||
name == "electron"
|
||||
|
||||
name
|
||||
== "electron"
|
||||
# HACK: Some Matrix clients rely on libolm, which is deprecated
|
||||
# https://github.com/NixOS/nixpkgs/pull/334638
|
||||
|| name == "cinny"
|
||||
|
@ -38,16 +31,13 @@
|
|||
|| name == "olm"
|
||||
|| name == "openssl"; # Cisco Packet Tracer
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
inherit config;
|
||||
|
||||
overlays = [
|
||||
(
|
||||
final: prev:
|
||||
let
|
||||
nixpkgs =
|
||||
branch:
|
||||
final: prev: let
|
||||
nixpkgs = branch:
|
||||
import inputs."nixpkgs-${branch}" {
|
||||
inherit config;
|
||||
system = prev.system;
|
||||
|
@ -57,8 +47,7 @@
|
|||
unstable = nixpkgs "unstable";
|
||||
staging-next = nixpkgs "staging-next";
|
||||
local = nixpkgs "local";
|
||||
in
|
||||
{
|
||||
in {
|
||||
# Overlay nixpkgs branches
|
||||
#?? nixpkgs.BRANCH.PACKAGE
|
||||
inherit stable unstable staging-next;
|
||||
|
|
80
flake.in.nix
80
flake.in.nix
|
@ -6,12 +6,10 @@
|
|||
#?? nix run .#genflake flake.nix
|
||||
# TODO: Remove flakegen hook when nix expressions are officially implemented
|
||||
# https://github.com/NixOS/nix/issues/3966
|
||||
|
||||
{
|
||||
# https://wiki.nixos.org/wiki/Flakes
|
||||
# https://nix.dev/manual/nix/2.18/command-ref/new-cli/nix3-flake.html
|
||||
inputs =
|
||||
let
|
||||
inputs = let
|
||||
flake = url: {inherit url;};
|
||||
follows = input: {inputs.${input}.follows = input;};
|
||||
stable = input: {inputs.${input}.follows = "${input}-stable";};
|
||||
|
@ -21,8 +19,7 @@
|
|||
inherit url;
|
||||
flake = false;
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
#?? branch = "git+https://REPO?ref=BRANCH"
|
||||
#?? commit = "git+https://REPO?ref=BRANCH&rev=COMMIT"
|
||||
#?? tag = "git+https://REPO?ref=refs/tags/TAG"
|
||||
|
@ -62,24 +59,17 @@
|
|||
fw-fanctrl = flake "github:TamtamHero/fw-fanctrl/packaging/nix" // unstable "nixpkgs";
|
||||
hypridle = flake "github:hyprwm/hypridle" // unstable "nixpkgs";
|
||||
#// hyprland = flake "git+https://github.com/hyprwm/Hyprland?submodules=1" // unstable "nixpkgs";
|
||||
hyprland =
|
||||
flake "git+https://github.com/hyprwm/Hyprland?ref=refs/tags/v0.43.0&submodules=1"
|
||||
// unstable "nixpkgs";
|
||||
#// hyprland =
|
||||
#// flake "git+https://github.com/UjinT34/Hyprland?ref=vrr-cursor-fix&submodules=1"
|
||||
#// // unstable "nixpkgs";
|
||||
hyprland = flake "git+https://github.com/hyprwm/Hyprland?ref=refs/tags/v0.43.0&submodules=1" // unstable "nixpkgs";
|
||||
#// hyprland = flake "git+https://github.com/UjinT34/Hyprland?ref=vrr-cursor-fix&submodules=1" // unstable "nixpkgs";
|
||||
hyprland-contrib = flake "github:hyprwm/contrib" // unstable "nixpkgs";
|
||||
hyprland-plugins =
|
||||
flake "github:hyprwm/hyprland-plugins" // unstable "nixpkgs" // follows "hyprland";
|
||||
hyprland-plugins = flake "github:hyprwm/hyprland-plugins" // unstable "nixpkgs" // follows "hyprland";
|
||||
hyprlock = flake "github:hyprwm/hyprlock" // unstable "nixpkgs";
|
||||
hyprpaper = flake "github:hyprwm/hyprpaper" // unstable "nixpkgs";
|
||||
hyprpicker = flake "github:hyprwm/hyprpicker" // unstable "nixpkgs";
|
||||
nix-flatpak = flake "github:gmodena/nix-flatpak?ref=v0.4.1";
|
||||
nix-vscode-extensions = flake "github:nix-community/nix-vscode-extensions" // unstable "nixpkgs";
|
||||
nixd = flake "github:nix-community/nixd" // unstable "nixpkgs";
|
||||
xdg-desktop-portal-hyprland =
|
||||
flake "github:hyprwm/xdg-desktop-portal-hyprland"
|
||||
// unstable "nixpkgs";
|
||||
xdg-desktop-portal-hyprland = flake "github:hyprwm/xdg-desktop-portal-hyprland" // unstable "nixpkgs";
|
||||
|
||||
# Server flakes
|
||||
conduwuit = flake "github:Myned/conduwuit" // unstable "nixpkgs";
|
||||
|
@ -106,35 +96,34 @@
|
|||
# https://github.com/kamadorueda/alejandra/blob/main/STYLE.md
|
||||
formatter.x86_64-linux = inputs.nixpkgs-unstable.legacyPackages.x86_64-linux.alejandra;
|
||||
|
||||
nixosConfigurations =
|
||||
let
|
||||
nixosConfigurations = let
|
||||
# TODO: Use inline modules instead of specialArgs
|
||||
# https://jade.fyi/blog/flakes-arent-real#nixos-modules
|
||||
# Boilerplate systems with global imports
|
||||
#!! There is no default nixpkgs, inputs.<nixpkgs|home-manager>-BRANCH must exist
|
||||
#?? branch = common "BRANCH" "ARCHITECTURE" [ MODULES ]
|
||||
common =
|
||||
branch: arch: modules:
|
||||
common = branch: arch: modules:
|
||||
inputs."nixpkgs-${branch}".lib.nixosSystem {
|
||||
system = arch;
|
||||
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
specialArgs = {inherit inputs;};
|
||||
|
||||
# TODO: Clean up optional attributes with each new release
|
||||
#!! Options will diverge between branches over time
|
||||
#?? with lib; optionalAttrs (versionAtLeast version "VERSION") { ... };
|
||||
modules = modules ++ [
|
||||
modules =
|
||||
modules
|
||||
++ [
|
||||
./options
|
||||
./configuration.nix
|
||||
|
||||
#!! Avoid globally importing modules that are not guarded by .enable
|
||||
# https://github.com/NixOS/nixpkgs/issues/137168
|
||||
(
|
||||
{ config, inputs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs."aagl-gtk-on-nix-${branch}".nixosModules.default
|
||||
inputs."home-manager-${branch}".nixosModules.home-manager
|
||||
|
@ -157,39 +146,16 @@
|
|||
#?? system = branch "ARCHITECTURE" [ MODULES ]
|
||||
stable = arch: modules: common "stable" "${arch}-linux" modules;
|
||||
unstable = arch: modules: common "unstable" "${arch}-linux" modules;
|
||||
in
|
||||
{
|
||||
in {
|
||||
### Stable
|
||||
myarm = stable "aarch64" [
|
||||
./profiles/server
|
||||
./machines/myarm
|
||||
];
|
||||
|
||||
myne = stable "x86_64" [
|
||||
./profiles/server
|
||||
./machines/myne
|
||||
];
|
||||
|
||||
mypi3 = stable "aarch64" [
|
||||
./profiles/sbc
|
||||
./machines/mypi3
|
||||
];
|
||||
myarm = stable "aarch64" [./profiles/server ./machines/myarm];
|
||||
myne = stable "x86_64" [./profiles/server ./machines/myne];
|
||||
mypi3 = stable "aarch64" [./profiles/sbc ./machines/mypi3];
|
||||
|
||||
### Unstable
|
||||
myeck = unstable "x86_64" [
|
||||
./profiles/console
|
||||
./machines/myeck
|
||||
];
|
||||
|
||||
mynix = unstable "x86_64" [
|
||||
./profiles/desktop
|
||||
./machines/mynix
|
||||
];
|
||||
|
||||
myork = unstable "x86_64" [
|
||||
./profiles/laptop
|
||||
./machines/myork
|
||||
];
|
||||
myeck = unstable "x86_64" [./profiles/console ./machines/myeck];
|
||||
mynix = unstable "x86_64" [./profiles/desktop ./machines/mynix];
|
||||
myork = unstable "x86_64" [./profiles/laptop ./machines/myork];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
imports = [(modulesPath + "/profiles/qemu-guest.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
imports = [(modulesPath + "/profiles/qemu-guest.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
|
|
|
@ -4,12 +4,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
}: let
|
||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||
in
|
||||
{
|
||||
in {
|
||||
imports = [
|
||||
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
||||
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules = [];
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom;
|
||||
in {
|
||||
options.custom = {
|
||||
### Profiles
|
||||
default = mkOption {default = true;};
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; {
|
||||
config.custom.desktops.hyprland.enable = config.custom.full;
|
||||
}
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.desktops.gnome;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.desktops.gnome = {
|
||||
enable = mkOption {default = false;};
|
||||
gdm = mkOption {default = true;};
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.desktops.hyprland;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.desktops.hyprland.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -4,15 +4,11 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
hyprctl = "${pkgs.hyprland}/bin/hyprctl";
|
||||
|
||||
cfg = config.custom.desktops.hyprland.plugins;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.desktops.hyprland.plugins.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,10 +4,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
clipse = "${pkgs.clipse}/bin/clipse";
|
||||
firefox-esr = "${
|
||||
config.home-manager.users.${config.custom.username}.programs.firefox.finalPackage
|
||||
|
@ -22,8 +19,7 @@ let
|
|||
}/bin/waybar";
|
||||
|
||||
cfg = config.custom.desktops.hyprland.settings;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.desktops.hyprland.settings.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
@ -51,12 +47,14 @@ in
|
|||
#?? envd = VARIABLE, VALUE
|
||||
# HACK: Mapped home-manager variables to envd in lieu of upstream fix
|
||||
# https://github.com/nix-community/home-manager/issues/2659
|
||||
envd =
|
||||
with builtins;
|
||||
attrValues (
|
||||
mapAttrs (
|
||||
envd = with builtins;
|
||||
attrValues
|
||||
(
|
||||
mapAttrs
|
||||
(
|
||||
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"
|
||||
|
@ -66,7 +64,8 @@ in
|
|||
#// exec = [ ];
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Keywords/#executing
|
||||
exec-once = [
|
||||
exec-once =
|
||||
[
|
||||
"${rm} ~/.config/qalculate/qalc.dmenu.history" # Clear calc history
|
||||
"${clipse} -clear" # Clear clipboard history
|
||||
"${clipse} -listen" # Monitor clipboard
|
||||
|
@ -143,7 +142,10 @@ in
|
|||
"col.inactive" = "rgba(6c71c440)";
|
||||
"col.locked_active" = "rgb(d33682)";
|
||||
"col.locked_inactive" = "rgba(d3368240)";
|
||||
font_size = if config.custom.hidpi then 16 else 10;
|
||||
font_size =
|
||||
if config.custom.hidpi
|
||||
then 16
|
||||
else 10;
|
||||
height = 5;
|
||||
render_titles = false;
|
||||
text_color = "rgb(93a1a1)";
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.desktops.kde;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.desktops.kde;
|
||||
in {
|
||||
options.custom.desktops.kde.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {services.desktopManager.plasma6.enable = true;};
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.files.agenix;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.files.agenix;
|
||||
in {
|
||||
# https://wiki.nixos.org/wiki/Agenix
|
||||
# https://github.com/ryantm/agenix
|
||||
options.custom.files.agenix.enable = mkOption {default = false;};
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; {
|
||||
config.custom.files = mkIf config.custom.default {
|
||||
agenix.enable = true;
|
||||
dev.enable = true;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.files.dev;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.files.dev;
|
||||
in {
|
||||
options.custom.files.dev.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.files.mnt;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.files.mnt;
|
||||
in {
|
||||
options.custom.files.mnt.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.files.nixos;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.files.nixos;
|
||||
in {
|
||||
options.custom.files.nixos.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.adb;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.adb;
|
||||
in {
|
||||
options.custom.programs.adb.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.ags;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.ags.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.alacritty;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.alacritty;
|
||||
in {
|
||||
options.custom.programs.alacritty.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.anime-game-launcher;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.anime-game-launcher;
|
||||
in {
|
||||
options.custom.programs.anime-game-launcher.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -5,13 +5,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.anyrun;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.anyrun.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.appimage;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.appimage;
|
||||
in {
|
||||
options.custom.programs.appimage.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi";
|
||||
|
||||
cfg = config.custom.programs.bitwarden-menu;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.bitwarden-menu.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.chromium;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.chromium;
|
||||
in {
|
||||
options.custom.programs.chromium.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.clipse;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.clipse.enable = mkOption {default = false;};
|
||||
|
||||
config = {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.dconf;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.dconf;
|
||||
in {
|
||||
options.custom.programs.dconf.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; {
|
||||
config.custom.programs = mkMerge [
|
||||
(mkIf config.custom.default {
|
||||
direnv.enable = true;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.direnv;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.direnv;
|
||||
in {
|
||||
options.custom.programs.direnv.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.discord;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.discord;
|
||||
in {
|
||||
options.custom.programs.discord.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.myned = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.element-desktop;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.element-desktop;
|
||||
in {
|
||||
options.custom.programs.element-desktop.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,15 +4,11 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
fastfetch = "${pkgs.fastfetch}/bin/fastfetch";
|
||||
|
||||
cfg = config.custom.programs.fastfetch;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.fastfetch = {
|
||||
enable = mkOption {default = false;};
|
||||
greet = mkOption {default = false;};
|
||||
|
|
|
@ -5,13 +5,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.firefox;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.firefox.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
@ -116,8 +112,7 @@ in
|
|||
# https://mozilla.github.io/policy-templates/#extensionsettings
|
||||
#?? https://addons.mozilla.org/en-US/firefox
|
||||
#?? about:support#addons
|
||||
ExtensionSettings =
|
||||
let
|
||||
ExtensionSettings = let
|
||||
extension = id: {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi";
|
||||
installation_mode = "normal_installed";
|
||||
|
@ -194,14 +189,12 @@ in
|
|||
#!! Only certain preferences are supported via policies
|
||||
# https://mozilla.github.io/policy-templates/#preferences
|
||||
#?? about:config
|
||||
Preferences =
|
||||
let
|
||||
Preferences = let
|
||||
locked = value: {
|
||||
Value = value;
|
||||
Status = "locked";
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
"accessibility.browsewithcaret" = locked false;
|
||||
"accessibility.typeaheadfind" = locked false;
|
||||
"browser.aboutConfig.showWarning" = locked false;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.fish;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.fish;
|
||||
in {
|
||||
options.custom.programs.fish.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.foot;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.foot;
|
||||
in {
|
||||
options.custom.programs.foot.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.fuzzel;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.fuzzel;
|
||||
in {
|
||||
options.custom.programs.fuzzel.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.gamemode;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.gamemode;
|
||||
in {
|
||||
options.custom.programs.gamemode.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.gamescope;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.gamescope;
|
||||
in {
|
||||
options.custom.programs.gamescope.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.git;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.git;
|
||||
in {
|
||||
options.custom.programs.git.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.gnome-shell;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.gnome-shell.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
@ -18,8 +14,7 @@ in
|
|||
programs.gnome-shell = {
|
||||
enable = true;
|
||||
|
||||
extensions =
|
||||
with pkgs.gnomeExtensions;
|
||||
extensions = with pkgs.gnomeExtensions;
|
||||
optionals config.custom.default [
|
||||
{package = appindicator;} # https://github.com/ubuntu/gnome-shell-extension-appindicator
|
||||
]
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.gnome-terminal;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.gnome-terminal;
|
||||
in {
|
||||
options.custom.programs.gnome-terminal.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.gpg;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.gpg;
|
||||
in {
|
||||
options.custom.programs.gpg.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.htop;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.htop;
|
||||
in {
|
||||
options.custom.programs.htop.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.hyprlock;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.hyprlock;
|
||||
in {
|
||||
options.custom.programs.hyprlock.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.kdeconnect;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.kdeconnect;
|
||||
in {
|
||||
options.custom.programs.kdeconnect.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.kitty;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.kitty;
|
||||
in {
|
||||
options.custom.programs.kitty.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.libreoffice;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.libreoffice = {
|
||||
enable = mkOption {default = false;};
|
||||
package = mkOption {default = pkgs.libreoffice-fresh;};
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.librewolf;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.librewolf;
|
||||
in {
|
||||
options.custom.programs.librewolf.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.localsend;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.localsend;
|
||||
in {
|
||||
options.custom.programs.localsend.enable = mkOption {default = false;};
|
||||
|
||||
config =
|
||||
if (versionAtLeast version "24.11") then
|
||||
if (versionAtLeast version "24.11")
|
||||
then
|
||||
(mkIf cfg.enable {
|
||||
# https://github.com/localsend/localsend
|
||||
programs.localsend = {
|
||||
|
@ -17,6 +18,5 @@ in
|
|||
openFirewall = true;
|
||||
};
|
||||
})
|
||||
else
|
||||
{ };
|
||||
else {};
|
||||
}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.logseq;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.logseq;
|
||||
in {
|
||||
options.custom.programs.logseq.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.man;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.man;
|
||||
in {
|
||||
options.custom.programs.man.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.mangohud;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.mangohud.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.mosh;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.mosh;
|
||||
in {
|
||||
options.custom.programs.mosh.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.nano;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.nano;
|
||||
in {
|
||||
options.custom.programs.nano.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.nautilus;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.nautilus.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.networkmanager-dmenu;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.networkmanager-dmenu;
|
||||
in {
|
||||
options.custom.programs.networkmanager-dmenu.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
@ -13,11 +13,9 @@ in
|
|||
# https://github.com/firecat53/networkmanager-dmenu/blob/main/config.ini.example
|
||||
#!! Option not available, files written directly
|
||||
# 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";
|
||||
in
|
||||
''
|
||||
in ''
|
||||
[dmenu]
|
||||
dmenu_command = ${wofi} --dmenu --lines 11
|
||||
active_chars = >
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.nh;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.nh;
|
||||
in {
|
||||
options.custom.programs.nh.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
@ -16,7 +16,11 @@ in
|
|||
|
||||
clean = {
|
||||
enable = true;
|
||||
extraArgs = "--keep-since ${if config.custom.minimal then "7" else "30"}d";
|
||||
extraArgs = "--keep-since ${
|
||||
if config.custom.minimal
|
||||
then "7"
|
||||
else "30"
|
||||
}d";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.nheko;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.nheko;
|
||||
in {
|
||||
options.custom.programs.nheko.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.nix-index;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.nix-index;
|
||||
in {
|
||||
options.custom.programs.nix-index.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.nix-ld;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.nix-ld;
|
||||
in {
|
||||
options.custom.programs.nix-ld.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.nushell;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.nushell;
|
||||
in {
|
||||
options.custom.programs.nushell.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.nvtop;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.nvtop;
|
||||
in {
|
||||
options.custom.programs.nvtop.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.obs-studio;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.obs-studio;
|
||||
in {
|
||||
options.custom.programs.obs-studio.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.onedrive;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.onedrive;
|
||||
in {
|
||||
options.custom.programs.onedrive.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.path-of-building;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.path-of-building.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.rbw;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.rbw.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.rofi-rbw;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.rofi-rbw;
|
||||
in {
|
||||
options.custom.programs.rofi-rbw.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.rofi;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.rofi.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.seahorse;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.seahorse;
|
||||
in {
|
||||
options.custom.programs.seahorse.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.slurp;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.slurp;
|
||||
in {
|
||||
options.custom.programs.slurp.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.ssh;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.ssh;
|
||||
in {
|
||||
options.custom.programs.ssh.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.steam;
|
||||
in
|
||||
{
|
||||
in {
|
||||
# https://wiki.nixos.org/wiki/Steam
|
||||
# https://store.steampowered.com
|
||||
options.custom.programs.steam = {
|
||||
|
@ -19,7 +15,8 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.steam = {
|
||||
programs.steam =
|
||||
{
|
||||
enable = true;
|
||||
extest.enable = cfg.extest; # Work around invisible cursor on Wayland
|
||||
extraCompatPackages = [pkgs.proton-ge-bin];
|
||||
|
@ -31,6 +28,7 @@ in
|
|||
# "--fullscreen"
|
||||
# ];
|
||||
};
|
||||
} // optionalAttrs (versionAtLeast version "24.11") { protontricks.enable = true; };
|
||||
}
|
||||
// optionalAttrs (versionAtLeast version "24.11") {protontricks.enable = true;};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.swaylock;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.swaylock.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -5,13 +5,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.thunderbird;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.thunderbird.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.tio;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.tio;
|
||||
in {
|
||||
options.custom.programs.tio.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.tmux;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.tmux;
|
||||
in {
|
||||
options.custom.programs.tmux.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -5,13 +5,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.programs.vscode;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.programs.vscode.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
with lib; let
|
||||
bash = "${pkgs.bash}/bin/bash";
|
||||
blueberry = "${pkgs.blueberry}/bin/blueberry";
|
||||
|
@ -32,6 +33,8 @@ with lib; let
|
|||
wttrbar = "${pkgs.wttrbar}/bin/wttrbar";
|
||||
|
||||
cfg = config.custom.programs.waybar;
|
||||
in {
|
||||
options.custom.programs.waybar.enable = mkOption {default = false;};
|
||||
in {
|
||||
options.custom.programs.waybar.enable = mkOption {default = false;};
|
||||
|
||||
|
@ -46,6 +49,52 @@ in {
|
|||
### SETTINGS ###
|
||||
# https://github.com/Alexays/Waybar/wiki/Configuration
|
||||
#?? pkill -SIGUSR2 -x waybar
|
||||
settings = let
|
||||
## INHERIT ##
|
||||
#!! Module defaults are not accurate to documentation
|
||||
# TODO: Submit pull request to fix in addition to inconsistent hyphen vs underscore
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Cava
|
||||
cava-config = {
|
||||
cava_config = null; # Default: null?
|
||||
framerate = 30; # Default: 30?
|
||||
autosens = 1; # Default: 1
|
||||
# sensitivity = 0; # Default: 100?
|
||||
bars = 16; # Default: 2
|
||||
lower_cutoff_freq = 50; # Default: 50?
|
||||
higher_cutoff_freq = 10000; # Default: 10000?
|
||||
sleep_timer = 5; # Default: 0
|
||||
hide_on_silence = true; # Default: false
|
||||
method = "pipewire"; # Default: pulse
|
||||
source = "auto"; # Default: auto?
|
||||
sample_rate = 44100; # Default: 44100?
|
||||
sample_bits = 16; # Default: 16?
|
||||
stereo = false; # Default: true
|
||||
reverse = false; # Default: false
|
||||
bar_delimiter = 32; # ASCII code for space, default: 59 or ;
|
||||
monstercat = true; # Default: false?
|
||||
waves = true; # Default: false?
|
||||
noise_reduction = 0.2; # Default: 0.77?
|
||||
input_delay = 1; # Default: 4
|
||||
format-icons = [
|
||||
"▁"
|
||||
"▂"
|
||||
"▃"
|
||||
"▄"
|
||||
"▅"
|
||||
"▆"
|
||||
"▇"
|
||||
"█"
|
||||
]; # !! Required
|
||||
on-click = easyeffects;
|
||||
on-scroll-up = "${swayosd-client} --output-volume raise";
|
||||
on-scroll-down = "${swayosd-client} --output-volume lower";
|
||||
rotate = 180;
|
||||
};
|
||||
in {
|
||||
status = {
|
||||
## GLOBAL ##
|
||||
layer = "top";
|
||||
position = "bottom";
|
||||
settings = let
|
||||
## INHERIT ##
|
||||
#!! Module defaults are not accurate to documentation
|
||||
|
@ -93,6 +142,26 @@ in {
|
|||
layer = "top";
|
||||
position = "bottom";
|
||||
|
||||
## POSITION ##
|
||||
modules-left = [
|
||||
"custom/power"
|
||||
"custom/inhibitor"
|
||||
"custom/vpn"
|
||||
"custom/vm"
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
modules-center = [
|
||||
"clock"
|
||||
"custom/weather"
|
||||
];
|
||||
modules-right = [
|
||||
"mpris"
|
||||
"tray"
|
||||
"wireplumber"
|
||||
"bluetooth"
|
||||
"network"
|
||||
"battery"
|
||||
];
|
||||
## POSITION ##
|
||||
modules-left = [
|
||||
"custom/power"
|
||||
|
@ -114,6 +183,14 @@ in {
|
|||
"battery"
|
||||
];
|
||||
|
||||
## MODULES ##
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Custom
|
||||
"custom/power" = {
|
||||
format = "";
|
||||
on-click = "${systemctl} poweroff";
|
||||
on-click-right = "${systemctl} reboot";
|
||||
on-click-middle = "${loginctl} terminate-session ''";
|
||||
};
|
||||
## MODULES ##
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Custom
|
||||
"custom/power" = {
|
||||
|
@ -123,12 +200,26 @@ in {
|
|||
on-click-middle = "${loginctl} terminate-session ''";
|
||||
};
|
||||
|
||||
"custom/inhibitor" = {
|
||||
interval = 5;
|
||||
exec = "~/.config/waybar/scripts/inhibitor.sh";
|
||||
on-click = "~/.local/bin/inhibit";
|
||||
};
|
||||
"custom/inhibitor" = {
|
||||
interval = 5;
|
||||
exec = "~/.config/waybar/scripts/inhibitor.sh";
|
||||
on-click = "~/.local/bin/inhibit";
|
||||
};
|
||||
|
||||
"custom/vm" = {
|
||||
interval = 5;
|
||||
exec = "~/.config/waybar/scripts/vm.sh";
|
||||
on-click = "~/.local/bin/vm -x ${
|
||||
if config.custom.hidpi
|
||||
then "/scale:140"
|
||||
else ""
|
||||
}";
|
||||
};
|
||||
"custom/vm" = {
|
||||
interval = 5;
|
||||
exec = "~/.config/waybar/scripts/vm.sh";
|
||||
|
@ -139,12 +230,27 @@ in {
|
|||
}";
|
||||
};
|
||||
|
||||
"custom/vpn" = {
|
||||
interval = 5;
|
||||
exec = "~/.config/waybar/scripts/vpn.sh";
|
||||
on-click = "~/.local/bin/vpn mypi3";
|
||||
};
|
||||
"custom/vpn" = {
|
||||
interval = 5;
|
||||
exec = "~/.config/waybar/scripts/vpn.sh";
|
||||
on-click = "~/.local/bin/vpn mypi3";
|
||||
};
|
||||
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Idle-Inhibitor
|
||||
# FIXME: Not currently usable
|
||||
# https://github.com/Alexays/Waybar/issues/690
|
||||
idle_inhibitor = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
};
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Idle-Inhibitor
|
||||
# FIXME: Not currently usable
|
||||
# https://github.com/Alexays/Waybar/issues/690
|
||||
|
@ -156,8 +262,17 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Hyprland
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Hyprland
|
||||
# https://www.nerdfonts.com/cheat-sheet
|
||||
"hyprland/workspaces" = {
|
||||
show-special = true;
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
android = "";
|
||||
dropdown = "";
|
||||
game = "";
|
||||
music = "";
|
||||
"hyprland/workspaces" = {
|
||||
show-special = true;
|
||||
format = "{icon}";
|
||||
|
@ -168,6 +283,7 @@ in {
|
|||
music = "";
|
||||
office = "";
|
||||
pip = "";
|
||||
pip = "";
|
||||
scratchpad = "";
|
||||
steam = "";
|
||||
terminal = "";
|
||||
|
@ -175,9 +291,28 @@ in {
|
|||
wallpaper = "";
|
||||
};
|
||||
};
|
||||
steam = "";
|
||||
terminal = "";
|
||||
vm = "";
|
||||
wallpaper = "";
|
||||
};
|
||||
};
|
||||
|
||||
cava = cava-config;
|
||||
cava = cava-config;
|
||||
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Clock
|
||||
clock = {
|
||||
# https://fmt.dev/latest/syntax.html#chrono-specs
|
||||
format = "{:%a %b %d %I:%M %p}"; # Mon Jan 01 12:00 AM
|
||||
tooltip-format = "{calendar}";
|
||||
calendar.format = {
|
||||
months = "<span color='#eee8d5'>{}</span>";
|
||||
weeks = "<span color='#eee8d5'>{}</span>";
|
||||
weekdays = "<span color='#93a1a1'>{}</span>";
|
||||
days = "<span color='#586e75'>{}</span>";
|
||||
today = "<span color='#eee8d5'>{}</span>";
|
||||
};
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Clock
|
||||
clock = {
|
||||
# https://fmt.dev/latest/syntax.html#chrono-specs
|
||||
|
@ -198,7 +333,19 @@ in {
|
|||
on-scroll-up = "${swayosd-client} --output-volume raise";
|
||||
on-scroll-down = "${swayosd-client} --output-volume lower";
|
||||
};
|
||||
# FIXME: Click release event sends to incorrect layer without sleeping
|
||||
# https://github.com/hyprwm/Hyprland/issues/1348
|
||||
on-click = "${swaync-client} --toggle-panel";
|
||||
# on-click-right = easyeffects;
|
||||
on-scroll-up = "${swayosd-client} --output-volume raise";
|
||||
on-scroll-down = "${swayosd-client} --output-volume lower";
|
||||
};
|
||||
|
||||
# https://github.com/bjesus/wttrbar
|
||||
"custom/weather" = {
|
||||
format = "{}°";
|
||||
interval = 60 * 60;
|
||||
return-type = "json";
|
||||
# https://github.com/bjesus/wttrbar
|
||||
"custom/weather" = {
|
||||
format = "{}°";
|
||||
|
@ -211,9 +358,13 @@ in {
|
|||
"--fahrenheit"
|
||||
"--hide-conditions"
|
||||
"--main-indicator temp_F"
|
||||
"--location 'Cedar Falls Iowa'"
|
||||
];
|
||||
};
|
||||
|
||||
"cava#reverse" =
|
||||
cava-config
|
||||
// {
|
||||
"cava#reverse" =
|
||||
cava-config
|
||||
// {
|
||||
|
@ -236,7 +387,37 @@ in {
|
|||
on-scroll-up = "${swayosd-client} --output-volume raise";
|
||||
on-scroll-down = "${swayosd-client} --output-volume lower";
|
||||
};
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-MPRIS
|
||||
mpris = {
|
||||
format = "{player_icon} {dynamic}";
|
||||
format-paused = "{status_icon} {dynamic}";
|
||||
dynamic-len = 50;
|
||||
dynamic-order = [
|
||||
"title"
|
||||
"artist"
|
||||
];
|
||||
dynamic-separator = " ";
|
||||
player-icons.default = "";
|
||||
status-icons.paused = "";
|
||||
on-click-middle = ""; # TODO: Close music player
|
||||
on-scroll-up = "${swayosd-client} --output-volume raise";
|
||||
on-scroll-down = "${swayosd-client} --output-volume lower";
|
||||
};
|
||||
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-WirePlumber
|
||||
wireplumber = {
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = "";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = easyeffects;
|
||||
on-click-right = "${swayosd-client} --output-volume mute-toggle";
|
||||
on-scroll-up = "${swayosd-client} --output-volume raise";
|
||||
on-scroll-down = "${swayosd-client} --output-volume lower";
|
||||
};
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-WirePlumber
|
||||
wireplumber = {
|
||||
format = "{icon} {volume}%";
|
||||
|
@ -252,6 +433,16 @@ in {
|
|||
on-scroll-down = "${swayosd-client} --output-volume lower";
|
||||
};
|
||||
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Bluetooth
|
||||
bluetooth = {
|
||||
format-disabled = "";
|
||||
format-off = "";
|
||||
format-on = "";
|
||||
format-connected = "";
|
||||
on-click = blueberry;
|
||||
on-click-right = "${bluetoothctl} disconnect";
|
||||
on-click-middle = "${rfkill} toggle bluetooth"; # Toggle bluetooth on/off
|
||||
};
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Bluetooth
|
||||
bluetooth = {
|
||||
format-disabled = "";
|
||||
|
@ -263,6 +454,22 @@ in {
|
|||
on-click-middle = "${rfkill} toggle bluetooth"; # Toggle bluetooth on/off
|
||||
};
|
||||
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Network
|
||||
network = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
disabled = "";
|
||||
disconnected = "";
|
||||
ethernet = "";
|
||||
linked = "";
|
||||
wifi = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Network
|
||||
network = {
|
||||
format = "{icon}";
|
||||
|
@ -283,7 +490,31 @@ in {
|
|||
on-click = nm-connection-editor;
|
||||
on-click-right = "~/.local/bin/network"; # Toggle networking on/off
|
||||
};
|
||||
on-click = nm-connection-editor;
|
||||
on-click-right = "~/.local/bin/network"; # Toggle networking on/off
|
||||
};
|
||||
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Battery
|
||||
"battery" = {
|
||||
format = "{icon} {power:.0f}W";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
interval = 5;
|
||||
states = {
|
||||
critical = 15;
|
||||
warning = 30;
|
||||
};
|
||||
# https://github.com/Alexays/Waybar/wiki/Module:-Battery
|
||||
"battery" = {
|
||||
format = "{icon} {power:.0f}W";
|
||||
|
@ -310,6 +541,10 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
on-click = "~/.local/bin/power"; # Toggle power-saver mode
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: Convert to writeShellApplication
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.wezterm;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.wezterm;
|
||||
in {
|
||||
options.custom.programs.wezterm.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.wireshark;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.wireshark;
|
||||
in {
|
||||
options.custom.programs.wireshark.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.wofi;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.wofi;
|
||||
in {
|
||||
options.custom.programs.wofi.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.programs.wpaperd;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.programs.wpaperd;
|
||||
in {
|
||||
options.custom.programs.wpaperd.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -4,19 +4,14 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
# Use packages from local derivation
|
||||
git = config.home-manager.users.${config.custom.username}.programs.git.package;
|
||||
hyprland =
|
||||
config.home-manager.users.${config.custom.username}.wayland.windowManager.hyprland.finalPackage;
|
||||
wofi = config.home-manager.users.${config.custom.username}.programs.wofi.package;
|
||||
in
|
||||
{
|
||||
config.home-manager.users.${config.custom.username}.home.file =
|
||||
let
|
||||
in {
|
||||
config.home-manager.users.${config.custom.username}.home.file = let
|
||||
# Place script.ext in the same directory as this file
|
||||
#?? pkg = (SHELL "NAME" [ DEPENDENCIES ])
|
||||
# https://nixos.org/manual/nixpkgs/unstable/#trivial-builder-writeShellApplication
|
||||
|
@ -172,7 +167,6 @@ in
|
|||
swww
|
||||
tailscale
|
||||
])
|
||||
|
||||
]
|
||||
++ (with pkgs.python3Packages; [
|
||||
# Python files with extension .py
|
||||
|
|
|
@ -4,16 +4,12 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cat = "${pkgs.coreutils}/bin/cat";
|
||||
sed = "${pkgs.gnused}/bin/sed";
|
||||
|
||||
cfg = config.custom.services.agenix;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.services.agenix.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.services.auto-cpufreq;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.services.auto-cpufreq;
|
||||
in {
|
||||
options.custom.services.auto-cpufreq = {
|
||||
enable = mkOption {default = false;};
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.services.avizo;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.services.avizo;
|
||||
in {
|
||||
options.custom.services.avizo.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.services.blueman-applet;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.services.blueman-applet;
|
||||
in {
|
||||
options.custom.services.blueman-applet.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.services.blueman;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.services.blueman;
|
||||
in {
|
||||
options.custom.services.blueman.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -5,15 +5,11 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cat = "${pkgs.coreutils}/bin/cat";
|
||||
|
||||
cfg = config.custom.services.borgmatic;
|
||||
in
|
||||
{
|
||||
in {
|
||||
# https://wiki.nixos.org/wiki/Borg_backup
|
||||
# https://github.com/borgmatic-collective/borgmatic
|
||||
#!! Imperative initialization
|
||||
|
@ -68,11 +64,9 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
age.secrets =
|
||||
let
|
||||
age.secrets = let
|
||||
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}";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -4,25 +4,19 @@
|
|||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.services.caddy;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.services.caddy.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
age.secrets =
|
||||
let
|
||||
age.secrets = let
|
||||
secret = filename: {
|
||||
file = "${inputs.self}/secrets/${filename}";
|
||||
owner = "caddy";
|
||||
group = "caddy";
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
"${config.custom.profile}/caddy/Caddyfile" = secret "${config.custom.profile}/caddy/Caddyfile";
|
||||
};
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi";
|
||||
|
||||
cfg = config.custom.services.clipcat;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.services.clipcat.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.services.cliphist;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.services.cliphist;
|
||||
in {
|
||||
options.custom.services.cliphist.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
|
@ -5,10 +5,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
bash = "${pkgs.bash}/bin/bash";
|
||||
cat = "${pkgs.coreutils}/bin/cat";
|
||||
sleep = "${pkgs.coreutils}/bin/sleep";
|
||||
|
@ -18,8 +15,7 @@ let
|
|||
}/bin/create_ap";
|
||||
|
||||
cfg = config.custom.services.create_ap;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.services.create_ap = {
|
||||
enable = mkOption {default = false;};
|
||||
internet = mkOption {default = "eth0";};
|
||||
|
@ -27,11 +23,9 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
age.secrets =
|
||||
let
|
||||
age.secrets = let
|
||||
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/ssid" = secret "${config.custom.profile}/create_ap/ssid";
|
||||
};
|
||||
|
@ -58,8 +52,7 @@ in
|
|||
systemd.services.create_ap.serviceConfig = {
|
||||
ExecStartPre = "${sleep} 15s"; # Some cards like Intel force regulatory domain discovery
|
||||
|
||||
ExecStart =
|
||||
let
|
||||
ExecStart = let
|
||||
configFile = pkgs.writeText "create_ap.conf" (
|
||||
generators.toKeyValue {} config.services.create_ap.settings
|
||||
);
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.custom.services.dbus;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.custom.services.dbus.enable = mkOption {default = false;};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; {
|
||||
config.custom.services = mkMerge [
|
||||
(mkIf config.custom.default {
|
||||
#// agenix.enable = true;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.custom.services.easyeffects;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.custom.services.easyeffects;
|
||||
in {
|
||||
options.custom.services.easyeffects.enable = mkOption {default = false;};
|
||||
|
||||
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue