Compare commits

..

6 Commits

88 changed files with 2543 additions and 2717 deletions

View File

@@ -1,13 +1,14 @@
{ inputs, config, ... }:
{
flake.modules.nixOnDroid.core =
{
inputs,
config,
...
}: {
flake.modules.nixOnDroid.core = {
hostName,
userName,
userEmail,
...
}:
{
}: {
home-manager = {
backupFileExtension = "bak";
useGlobalPkgs = true;

View File

@@ -1,12 +1,10 @@
{
flake.modules.nixOnDroid.networking =
{
flake.modules.nixOnDroid.networking = {
config,
lib,
pkgs,
...
}:
let
}: let
# utility functions
concatLines = list: builtins.concatStringsSep "\n" list;
@@ -57,8 +55,7 @@
-f "/etc/${configPath}" \
-D # don't detach into a daemon process
'';
in
{
in {
options.tnix.networking.openssh = {
enable = lib.mkEnableOption ''
Whether to enable the OpenSSH secure shell daemon, which

View File

@@ -1,4 +1,3 @@
{ inputs, ... }:
{
{inputs, ...}: {
imports = [inputs.flake-parts.flakeModules.modules];
}

View File

@@ -3,18 +3,17 @@
inputs,
config,
...
}:
let
mkNixOSHost =
hostName:
{
}: let
mkNixOSHost = hostName: {
userName ? "tux",
userEmail ? "t@tux.rs",
system ? "x86_64-linux",
unstable ? true,
}:
let
nixpkgs = if unstable then inputs.nixpkgs else inputs.nixpkgs-stable;
}: let
nixpkgs =
if unstable
then inputs.nixpkgs
else inputs.nixpkgs-stable;
in
nixpkgs.lib.nixosSystem {
inherit system;
@@ -32,16 +31,16 @@ let
];
};
mkDroidHost =
hostName:
{
mkDroidHost = hostName: {
userName ? "nix-on-droid",
userEmail ? "t@tux.rs",
system ? "aarch64-linux",
unstable ? true,
}:
let
nixpkgs = if unstable then inputs.nixpkgs else inputs.nixpkgs-stable;
}: let
nixpkgs =
if unstable
then inputs.nixpkgs
else inputs.nixpkgs-stable;
in
inputs.nix-on-droid.lib.nixOnDroidConfiguration {
pkgs = import nixpkgs {
@@ -65,12 +64,7 @@ let
];
};
mkNixOSNode =
hostName:
{
system ? "x86_64-linux",
}:
{
mkNixOSNode = hostName: {system ? "x86_64-linux"}: {
hostname = hostName;
profiles.system = {
user = "root";
@@ -78,17 +72,11 @@ let
};
};
activateNixOnDroid =
system: configuration:
activateNixOnDroid = system: configuration:
inputs.deploy-rs.lib.${system}.activate.custom configuration.activationPackage
"${configuration.activationPackage}/activate";
mkDroidNode =
hostName:
{
system ? "aarch64-linux",
}:
{
mkDroidNode = hostName: {system ? "aarch64-linux"}: {
hostname = hostName;
profiles.system = {
sshUser = "nix-on-droid";
@@ -101,9 +89,7 @@ let
path = activateNixOnDroid system self.nixOnDroidConfigurations.${hostName};
};
};
in
{
in {
flake = {
nixosConfigurations = builtins.mapAttrs mkNixOSHost {
sirius = {};
@@ -123,8 +109,10 @@ in
};
perSystem = {
checks = builtins.mapAttrs (
checks =
builtins.mapAttrs (
_: hostConfig: hostConfig.config.system.build.toplevel
) self.nixosConfigurations;
)
self.nixosConfigurations;
};
}

View File

@@ -1,8 +1,4 @@
{
inputs,
...
}:
{
{inputs, ...}: {
flake.overlays = {
modifications = final: prev: {
tnvim = inputs.tnvim.packages.${prev.stdenv.hostPlatform.system}.default;
@@ -31,9 +27,7 @@
copyparty = inputs.copyparty.overlays.default;
};
perSystem =
{ system, ... }:
{
perSystem = {system, ...}: {
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
overlays = builtins.attrValues inputs.self.overlays;

View File

@@ -1,5 +1,4 @@
{ inputs, ... }:
{
{inputs, ...}: {
imports = [
inputs.treefmt-nix.flakeModule
];
@@ -9,7 +8,7 @@
projectRootFile = "flake.nix";
flakeCheck = true;
programs = {
nixfmt.enable = true;
alejandra.enable = true;
};
};
};

View File

@@ -1,7 +1,5 @@
{
flake.modules.homeManager.core =
{ userName, ... }:
{
flake.modules.homeManager.core = {userName, ...}: {
programs.home-manager.enable = true;
systemd.user.startServices = "sd-switch";

View File

@@ -1,12 +1,9 @@
{ inputs, ... }:
{
flake.modules.homeManager.core =
{
{inputs, ...}: {
flake.modules.homeManager.core = {
lib,
osConfig ? {},
...
}:
{
}: {
nixpkgs = lib.mkIf (!(osConfig.home-manager.useGlobalPkgs or false)) {
config = {
allowUnfree = true;

View File

@@ -1,11 +1,9 @@
{
flake.modules.homeManager.desktop =
{
flake.modules.homeManager.desktop = {
pkgs,
config,
...
}:
let
}: let
configDir = "${config.xdg.configHome}/BraveSoftware/Brave-Browser";
extensionJson = ext: {
@@ -22,8 +20,7 @@
{id = "bfnaelmomeimhlpmgjnjophhpkkoljpa";} # Phantom
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # DarkReader
];
in
{
in {
programs.chromium = {
enable = true;
package = pkgs.brave;

View File

@@ -1,7 +1,9 @@
{
flake.modules.homeManager.desktop =
{ inputs, userName, ... }:
{
flake.modules.homeManager.desktop = {
inputs,
userName,
...
}: {
imports = [
inputs.nixcord.homeModules.nixcord
];

View File

@@ -1,11 +1,9 @@
{
flake.modules.homeManager.desktop =
{
flake.modules.homeManager.desktop = {
pkgs,
userName,
...
}:
{
}: {
programs.firefox = {
enable = true;

View File

@@ -1,7 +1,9 @@
{
flake.modules.homeManager.desktop =
{ config, pkgs, ... }:
{
flake.modules.homeManager.desktop = {
config,
pkgs,
...
}: {
# TODO: Hyprland 0.55 switched to Lua-based configuration.
# HM module is updated but I'm too lazy at this point so we symlink our config instead.
wayland.windowManager.hyprland = {

View File

@@ -1,17 +1,13 @@
{ inputs, ... }:
{
flake.modules.homeManager.desktop =
{
{inputs, ...}: {
flake.modules.homeManager.desktop = {
config,
pkgs,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.lan-mouse;
in
{
in {
imports = [inputs.lan-mouse.homeManagerModules.default];
options.tnix.services.lan-mouse = {
@@ -28,7 +24,6 @@
};
config = mkIf cfg.enable {
programs.lan-mouse = {
enable = true;
systemd = true;

View File

@@ -1,17 +1,13 @@
{ inputs, ... }:
{
flake.modules.homeManager.desktop =
{
{inputs, ...}: {
flake.modules.homeManager.desktop = {
config,
pkgs,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.desktop.mangowm;
in
{
in {
imports = [
inputs.mango.hmModules.mango
];

View File

@@ -1,13 +1,10 @@
{
flake.modules.homeManager.desktop =
{ pkgs, ... }:
{
flake.modules.homeManager.desktop = {pkgs, ...}: {
programs.mpv = {
enable = true;
scripts = (
with pkgs.mpvScripts;
[
with pkgs.mpvScripts; [
modernz
thumbfast
mpris

View File

@@ -1,7 +1,5 @@
{
flake.modules.homeManager.desktop =
{ pkgs, ... }:
{
flake.modules.homeManager.desktop = {pkgs, ...}: {
home.pointerCursor = {
enable = true;
package = pkgs.bibata-cursors;

View File

@@ -1,10 +1,5 @@
{
flake.modules.homeManager.desktop =
{
pkgs,
...
}:
{
flake.modules.homeManager.desktop = {pkgs, ...}: {
programs.vicinae = {
enable = true;
systemd = {
@@ -14,20 +9,16 @@
useLayerShell = true;
extensions = with pkgs.vicinae-extensions; [
# @TODO broken in upstream repo
# bluetooth
nix
ssh
awww-switcher
process-manager
pulseaudio
wifi-commander
port-killer
silverbullet
];
settings = {
close_on_focus_loss = true;
close_on_focus_loss = false;
consider_preedit = true;
pop_to_root_on_close = true;
favicon_service = "twenty";

View File

@@ -1,7 +1,5 @@
{
flake.modules.homeManager.desktop =
{ pkgs, ... }:
{
flake.modules.homeManager.desktop = {pkgs, ...}: {
programs.wezterm = {
enable = true;
package = pkgs.wezterm-git;

View File

@@ -1,11 +1,9 @@
{
flake.modules.homeManager.shell =
{
flake.modules.homeManager.shell = {
userName,
userEmail,
...
}:
{
}: {
programs.git = {
enable = true;
signing = {

View File

@@ -1,7 +1,5 @@
{
flake.modules.homeManager.shell =
{ pkgs, ... }:
{
flake.modules.homeManager.shell = {pkgs, ...}: {
home.packages = with pkgs; [
systemctl-tui
zip

View File

@@ -1,7 +1,5 @@
{
flake.modules.homeManager.shell =
{ pkgs, ... }:
{
flake.modules.homeManager.shell = {pkgs, ...}: {
home.file = {
".config/nvim" = {
recursive = true;

View File

@@ -1,58 +1,47 @@
{
flake.modules.homeManager.shell =
{ pkgs, ... }:
let
flake.modules.homeManager.shell = {pkgs, ...}: let
bg = "default";
fg = "default";
bg2 = "brightblack";
fg2 = "white";
color = c: "#{@${c}}";
indicator =
let
indicator = let
accent = color "indicator_color";
content = " ";
in
"#[reverse,fg=${accent}]#{?client_prefix,${content},}";
in "#[reverse,fg=${accent}]#{?client_prefix,${content},}";
current_window =
let
current_window = let
accent = color "main_accent";
index = "#[reverse,fg=${accent},bg=${fg}] #I ";
name = "#[fg=${bg2},bg=${fg2}] #W ";
# flags = "#{?window_flags,#{window_flags}, }";
in
"${index}${name}";
in "${index}${name}";
window_status =
let
window_status = let
accent = color "window_color";
index = "#[reverse,fg=${accent},bg=${fg}] #I ";
name = "#[fg=${bg2},bg=${fg2}] #W ";
# flags = "#{?window_flags,#{window_flags}, }";
in
"${index}${name}";
in "${index}${name}";
battery =
let
battery = let
percentage = pkgs.writeShellScript "percentage" (
if pkgs.stdenv.isDarwin then
''
if pkgs.stdenv.isDarwin
then ''
echo $(pmset -g batt | grep -o "[0-9]\+%" | tr '%' ' ')
''
else
''
else ''
path="/org/freedesktop/UPower/devices/DisplayDevice"
echo $(${pkgs.upower}/bin/upower -i $path | grep -o "[0-9]\+%" | tr '%' ' ')
''
);
state = pkgs.writeShellScript "state" (
if pkgs.stdenv.isDarwin then
''
if pkgs.stdenv.isDarwin
then ''
echo $(pmset -g batt | awk '{print $4}')
''
else
''
else ''
path="/org/freedesktop/UPower/devices/DisplayDevice"
echo $(${pkgs.upower}/bin/upower -i $path | grep state | awk '{print $2}')
''
@@ -77,31 +66,25 @@
elif [ $percentage -ge 0 ]; then echo "red"
fi
'';
in
"#[fg=#(${color})]#(${icon}) #[fg=${fg}]#(${percentage})%";
in "#[fg=#(${color})]#(${icon}) #[fg=${fg}]#(${percentage})%";
pwd =
let
pwd = let
accent = color "main_accent";
icon = "#[fg=${accent}] ";
format = "#[fg=${fg}]#{b:pane_current_path}";
in
"${icon}${format}";
in "${icon}${format}";
git =
let
git = let
icon = pkgs.writeShellScript "branch" ''
git -C "$1" branch && echo " "
'';
branch = pkgs.writeShellScript "branch" ''
git -C "$1" rev-parse --abbrev-ref HEAD
'';
in
"#[fg=magenta]#(${icon} #{pane_current_path})#(${branch} #{pane_current_path})";
in "#[fg=magenta]#(${icon} #{pane_current_path})#(${branch} #{pane_current_path})";
separator = "#[fg=${fg}]|";
in
{
in {
programs.tmux = {
enable = true;
baseIndex = 1;

View File

@@ -1,8 +1,5 @@
{ lib, ... }:
{
flake.modules.homeManager.shell =
{ pkgs, ... }:
{
{lib, ...}: {
flake.modules.homeManager.shell = {pkgs, ...}: {
programs.zsh = {
enable = true;
history = {

View File

@@ -1,14 +1,14 @@
{ inputs, config, ... }:
{
flake.modules.nixos.alpha =
{
inputs,
config,
...
}: {
flake.modules.nixos.alpha = {
hostName,
userName,
...
}@innerArgs:
{
imports =
with config.flake.modules.nixos;
} @ innerArgs: {
imports = with config.flake.modules.nixos;
[
boot
networking

View File

@@ -1,12 +1,12 @@
{ inputs, ... }:
{
flake.modules.nixos.alpha =
{ config, lib, ... }:
let
{inputs, ...}: {
flake.modules.nixos.alpha = {
config,
lib,
...
}: let
hasOptinPersistence = config.tnix.boot.impermanence.enable;
isLegacy = config.tnix.boot.legacy.enable;
in
{
in {
imports = [
inputs.disko.nixosModules.disko
];
@@ -16,7 +16,8 @@
type = "disk";
content = {
type = "gpt";
partitions = {
partitions =
{
ESP = {
size = "1G";
type = "EF00";
@@ -36,7 +37,8 @@
content = {
type = "btrfs";
# Base subvolumes that always exist
subvolumes = {
subvolumes =
{
"/root" = {
mountOptions = [
"compress=zstd"

View File

@@ -1,12 +1,10 @@
{
flake.modules.nixos.alpha =
{
flake.modules.nixos.alpha = {
lib,
modulesPath,
system,
...
}:
{
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];

View File

@@ -1,12 +1,10 @@
{config, ...}: {
flake.modules.nixos.arcturus =
{
flake.modules.nixos.arcturus = {
pkgs,
hostName,
userName,
...
}@innerArgs:
{
} @ innerArgs: {
imports = with config.flake.modules.nixos; [
boot
networking

View File

@@ -1,11 +1,11 @@
{ inputs, ... }:
{
flake.modules.nixos.arcturus =
{ config, lib, ... }:
let
{inputs, ...}: {
flake.modules.nixos.arcturus = {
config,
lib,
...
}: let
hasOptinPersistence = config.tnix.boot.impermanence.enable;
in
{
in {
imports = [
inputs.disko.nixosModules.disko
];
@@ -35,7 +35,8 @@
content = {
type = "btrfs";
# Base subvolumes that always exist
subvolumes = {
subvolumes =
{
"/root" = {
mountOptions = [
"compress=zstd"

View File

@@ -1,13 +1,10 @@
{ config, ... }:
{
flake.modules.nixos.arcturus =
{
{config, ...}: {
flake.modules.nixos.arcturus = {
lib,
pkgs,
system,
...
}@innerArgs:
{
} @ innerArgs: {
imports = with config.flake.modules.nixos; [
hardware
];

View File

@@ -1,12 +1,10 @@
{config, ...}: {
flake.modules.nixos.canopus =
{
flake.modules.nixos.canopus = {
pkgs,
hostName,
userName,
...
}:
{
}: {
imports = with config.flake.modules.nixos; [
boot
networking
@@ -72,6 +70,8 @@
waydroid.enable = true;
distrobox.enable = true;
};
programs.nix-ld.enable = true;
};
sops.secrets = {

View File

@@ -1,11 +1,11 @@
{ inputs, ... }:
{
flake.modules.nixos.canopus =
{ config, lib, ... }:
let
{inputs, ...}: {
flake.modules.nixos.canopus = {
config,
lib,
...
}: let
hasOptinPersistence = config.tnix.boot.impermanence.enable;
in
{
in {
imports = [
inputs.disko.nixosModules.disko
];
@@ -43,7 +43,8 @@
content = {
type = "btrfs";
# Base subvolumes that always exist
subvolumes = {
subvolumes =
{
"/root" = {
mountOptions = [
"compress=zstd"

View File

@@ -1,15 +1,15 @@
{ inputs, config, ... }:
{
flake.modules.nixos.canopus =
{
inputs,
config,
...
}: {
flake.modules.nixos.canopus = {
lib,
pkgs,
system,
...
}@innerArgs:
{
imports =
with config.flake.modules.nixos;
} @ innerArgs: {
imports = with config.flake.modules.nixos;
[
hardware
]

View File

@@ -1,5 +1,4 @@
{ config, ... }:
{
{config, ...}: {
flake.modules.homeManager.canopus = {pkgs, ...}: {
imports = with config.flake.modules.homeManager; [
desktop
@@ -27,8 +26,7 @@
enable = true;
settings = {
authorized_fingerprints = {
"f4:4b:17:61:f7:01:a4:a2:e1:c7:8c:1c:7a:f3:8b:87:14:3d:05:3d:a0:8b:cc:e7:88:d8:d8:d2:a4:c2:75:8b" =
"sirius";
"f4:4b:17:61:f7:01:a4:a2:e1:c7:8c:1c:7a:f3:8b:87:14:3d:05:3d:a0:8b:cc:e7:88:d8:d8:d2:a4:c2:75:8b" = "sirius";
};
};
};

View File

@@ -1,12 +1,10 @@
{config, ...}: {
flake.modules.nixos.sirius =
{
flake.modules.nixos.sirius = {
pkgs,
hostName,
userName,
...
}:
{
}: {
imports = with config.flake.modules.nixos; [
boot
networking
@@ -72,6 +70,8 @@
waydroid.enable = true;
distrobox.enable = true;
};
programs.nix-ld.enable = true;
};
sops.secrets = {

View File

@@ -1,11 +1,11 @@
{ inputs, ... }:
{
flake.modules.nixos.sirius =
{ config, lib, ... }:
let
{inputs, ...}: {
flake.modules.nixos.sirius = {
config,
lib,
...
}: let
hasOptinPersistence = config.tnix.boot.impermanence.enable;
in
{
in {
imports = [
inputs.disko.nixosModules.disko
];
@@ -43,7 +43,8 @@
content = {
type = "btrfs";
# Base subvolumes that always exist
subvolumes = {
subvolumes =
{
"/root" = {
mountOptions = [
"compress=zstd"

View File

@@ -1,15 +1,15 @@
{ inputs, config, ... }:
{
flake.modules.nixos.sirius =
{
inputs,
config,
...
}: {
flake.modules.nixos.sirius = {
lib,
pkgs,
system,
...
}@innerArgs:
{
imports =
with config.flake.modules.nixos;
} @ innerArgs: {
imports = with config.flake.modules.nixos;
[
hardware
]

View File

@@ -1,5 +1,4 @@
{ config, ... }:
{
{config, ...}: {
flake.modules.homeManager.sirius = {
imports = with config.flake.modules.homeManager; [
desktop

View File

@@ -1,12 +1,9 @@
{ config, ... }:
{
flake.modules.nixOnDroid.vega =
{
{config, ...}: {
flake.modules.nixOnDroid.vega = {
pkgs,
userEmail,
...
}:
{
}: {
imports = with config.flake.modules.nixOnDroid; [
networking
];
@@ -18,12 +15,10 @@
# android-integration.termux-setup-storage.enable = true;
# android-integration.termux-reload-settings.enable = true;
terminal.font =
let
terminal.font = let
firacode = pkgs.nerd-fonts.fira-code;
fontPath = "share/fonts/truetype/NerdFonts/FiraCode/FiraCodeNerdFont-Regular.ttf";
in
"${firacode}/${fontPath}";
in "${firacode}/${fontPath}";
time.timeZone = "Asia/Kolkata";

View File

@@ -1,5 +1,4 @@
{ lib, ... }:
{
{lib, ...}: {
flake.modules.homeManager.vega = {
# @TODO: Broken currently - By default it's enabled by neovim module
programs.vim.enable = lib.mkForce false;

View File

@@ -1,11 +1,5 @@
{ config, ... }:
{
flake.modules.nixos.vps =
{
hostName,
...
}:
{
{config, ...}: {
flake.modules.nixos.vps = {hostName, ...}: {
imports = with config.flake.modules.nixos; [
boot
networking

View File

@@ -1,12 +1,12 @@
{ inputs, ... }:
{
flake.modules.nixos.vps =
{ config, lib, ... }:
let
{inputs, ...}: {
flake.modules.nixos.vps = {
config,
lib,
...
}: let
hasOptinPersistence = config.tnix.boot.impermanence.enable;
isLegacy = config.tnix.boot.legacy.enable;
in
{
in {
imports = [
inputs.disko.nixosModules.disko
];
@@ -16,7 +16,8 @@
type = "disk";
content = {
type = "gpt";
partitions = {
partitions =
{
ESP = {
size = "1G";
type = "EF00";
@@ -36,7 +37,8 @@
content = {
type = "btrfs";
# Base subvolumes that always exist
subvolumes = {
subvolumes =
{
"/root" = {
mountOptions = [
"compress=zstd"

View File

@@ -1,12 +1,10 @@
{
flake.modules.nixos.vps =
{
flake.modules.nixos.vps = {
lib,
modulesPath,
system,
...
}:
{
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];

View File

@@ -1,16 +1,12 @@
{ inputs, ... }:
{
flake.modules.nixos.boot =
{
{inputs, ...}: {
flake.modules.nixos.boot = {
config,
lib,
userName,
...
}:
let
}: let
cfg = config.tnix.boot;
in
{
in {
imports = [
inputs.impermanence.nixosModules.impermanence
];
@@ -46,14 +42,16 @@
fileSystems."/persist".neededForBoot = true;
environment.persistence."/persist" = {
hideMounts = true;
directories = [
directories =
[
"/var/log"
"/var/lib"
"/etc/NetworkManager/system-connections"
]
++ cfg.impermanence.directories;
files = [
files =
[
"/etc/machine-id"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
@@ -65,7 +63,8 @@
home-manager.users.${userName} = {
home.persistence."/persist" = {
directories = [
directories =
[
"Downloads"
"Music"
"Wallpapers"

View File

@@ -1,10 +1,11 @@
{
flake.modules.nixos.boot =
{ config, lib, ... }:
let
flake.modules.nixos.boot = {
config,
lib,
...
}: let
cfg = config.tnix.boot;
in
{
in {
options.tnix.boot.legacy = {
enable = lib.mkEnableOption "legacy boot (GRUB) instead of systemd-boot";
};

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.boot =
{ pkgs, ... }:
{
flake.modules.nixos.boot = {pkgs, ...}: {
boot = {
consoleLogLevel = 0;
initrd.verbose = false;

View File

@@ -1,16 +1,12 @@
{ inputs, ... }:
{
flake.modules.nixos.boot =
{
{inputs, ...}: {
flake.modules.nixos.boot = {
config,
lib,
pkgs,
...
}:
let
}: let
cfg = config.tnix.boot;
in
{
in {
imports = [inputs.lanzaboote.nixosModules.lanzaboote];
options.tnix.boot.secure-boot = {

View File

@@ -1,13 +1,14 @@
{ inputs, config, ... }:
{
flake.modules.nixos.core =
{
inputs,
config,
...
}: {
flake.modules.nixos.core = {
hostName,
userName,
userEmail,
...
}:
{
}: {
imports = [
inputs.home-manager.nixosModules.home-manager
];

View File

@@ -1,11 +1,9 @@
{
flake.modules.nixos.core =
{
flake.modules.nixos.core = {
config,
userName,
...
}:
{
}: {
programs.nh = {
enable = true;

View File

@@ -1,5 +1,4 @@
{ inputs, ... }:
{
{inputs, ...}: {
flake.modules.nixos.core = {pkgs, ...}: {
imports = [
inputs.nix-index-database.nixosModules.default

View File

@@ -0,0 +1,18 @@
{...}: {
flake.modules.nixos.core = {
config,
lib,
...
}:
with lib; let
cfg = config.tnix.programs.nix-ld;
in {
options.tnix.programs.nix-ld = {
enable = mkEnableOption "nix-ld";
};
config = mkIf cfg.enable {
programs.nix-ld.enable = true;
};
};
}

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.core =
{ userName, ... }:
{
flake.modules.nixos.core = {userName, ...}: {
nix = {
channel.enable = false;

View File

@@ -1,5 +1,4 @@
{ inputs, ... }:
{
{inputs, ...}: {
flake.modules.nixos.core = {
nixpkgs = {
config = {

View File

@@ -1,17 +1,13 @@
{ inputs, ... }:
{
flake.modules.nixos.core =
{
{inputs, ...}: {
flake.modules.nixos.core = {
config,
pkgs,
...
}:
let
}: let
isEd25519 = k: k.type == "ed25519";
getKeyPath = k: k.path;
keys = builtins.filter isEd25519 config.services.openssh.hostKeys;
in
{
in {
imports = [inputs.sops-nix.nixosModules.sops];
sops.age = {

View File

@@ -1,17 +1,14 @@
{
flake.modules.nixos.core =
{
flake.modules.nixos.core = {
pkgs,
lib,
config,
userName,
userEmail,
...
}:
let
}: let
hasPasswordSecret = lib.hasAttrByPath ["sops" "secrets" "tux-password"] config;
in
{
in {
programs.zsh.enable = true;
time.timeZone = "Asia/Kolkata";

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.desktop =
{ pkgs, ... }:
{
flake.modules.nixos.desktop = {pkgs, ...}: {
fonts.packages = with pkgs.nerd-fonts; [
fira-code
jetbrains-mono

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.desktop =
{ pkgs, ... }:
{
flake.modules.nixos.desktop = {pkgs, ...}: {
programs.gpu-screen-recorder = {
enable = true;
};

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.desktop =
{ pkgs, ... }:
{
flake.modules.nixos.desktop = {pkgs, ...}: {
programs.hyprland = {
enable = true;
package = pkgs.hyprland-git.hyprland;

View File

@@ -1,15 +1,9 @@
{
inputs,
...
}:
{
flake.modules.nixos.desktop =
{
{inputs, ...}: {
flake.modules.nixos.desktop = {
pkgs,
lib,
...
}:
{
}: {
imports = [
inputs.mango.nixosModules.mango
];

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.desktop =
{ pkgs, ... }:
{
flake.modules.nixos.desktop = {pkgs, ...}: {
environment.systemPackages = with pkgs; [brightnessctl];
};
}

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.desktop =
{ pkgs, ... }:
{
flake.modules.nixos.desktop = {pkgs, ...}: {
programs.obs-studio = {
enable = true;
enableVirtualCamera = true;
@@ -9,6 +7,7 @@
obs-vaapi
wlrobs
obs-source-record
obs-advanced-masks
];
};
};

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.desktop =
{ pkgs, ... }:
{
flake.modules.nixos.desktop = {pkgs, ...}: {
services = {
gvfs.enable = true;
tumbler.enable = true;

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.desktop =
{ pkgs, ... }:
{
flake.modules.nixos.desktop = {pkgs, ...}: {
environment.systemPackages = with pkgs; [tshell];
};
}

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.gaming =
{ pkgs, ... }:
{
flake.modules.nixos.gaming = {pkgs, ...}: {
programs.steam = {
enable = true;
protontricks.enable = true;

View File

@@ -1,16 +1,13 @@
{
flake.modules.nixos.networking =
{
flake.modules.nixos.networking = {
config,
lib,
hostName,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.networking.netbird-client;
in
{
in {
options.tnix.networking.netbird-client = {
enable = mkEnableOption "Enable netbird client";
};

View File

@@ -1,15 +1,12 @@
{
flake.modules.nixos.networking =
{
flake.modules.nixos.networking = {
config,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.networking.newt;
in
{
in {
options.tnix.networking.newt = {
enable = mkEnableOption "Newt";

View File

@@ -1,19 +1,16 @@
{
flake.modules.nixos.networking =
{
flake.modules.nixos.networking = {
config,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.networking.openssh;
# Sops needs acess to the keys before the persist dirs are even mounted; so
# just persisting the keys won't work, we must point at /persist
hasOptinPersistence = config.tnix.boot.impermanence.enable;
in
{
in {
options.tnix.networking.openssh = {
enable = mkEnableOption "Enable OpenSSH server";

View File

@@ -1,17 +1,14 @@
{
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.aiostreams;
port = toString cfg.port;
acmeHost = config.tnix.services.nginx.domain;
in
{
in {
options.tnix.services.aiostreams = {
enable = mkEnableOption "AIOStreams";

View File

@@ -1,19 +1,16 @@
{inputs, ...}: {
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
pkgs,
options,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.copyparty;
port = toString cfg.port;
acmeHost = config.tnix.services.nginx.domain;
in
{
in {
imports = [
inputs.copyparty.nixosModules.default
];

View File

@@ -1,16 +1,13 @@
{
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
pkgs,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.cyber-tux;
in
{
in {
options.tnix.services.cyber-tux = {
enable = mkEnableOption "CyberTux Discord bot";

View File

@@ -1,17 +1,14 @@
{
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.gitea;
port = toString cfg.port;
acmeHost = config.tnix.services.nginx.domain;
in
{
in {
options.tnix.services.gitea = {
enable = mkEnableOption "Gitea";

View File

@@ -1,6 +1,5 @@
{inputs, ...}: {
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
pkgs,
@@ -8,11 +7,9 @@
userName,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.hermes-agent;
in
{
in {
imports = [
inputs.hermes-agent.nixosModules.default
];

View File

@@ -1,17 +1,14 @@
{
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.mediaflow-proxy;
port = toString cfg.port;
acmeHost = config.tnix.services.nginx.domain;
in
{
in {
options.tnix.services.mediaflow-proxy = {
enable = mkEnableOption "MediaFlow Proxy";

View File

@@ -1,16 +1,13 @@
{
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
userEmail,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.nginx;
in
{
in {
options.tnix.services.nginx = {
enable = mkEnableOption "Nginx";

View File

@@ -1,17 +1,14 @@
{
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
userEmail,
pkgs,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.pangolin;
in
{
in {
options.tnix.services.pangolin = {
enable = mkEnableOption "Pangolin";

View File

@@ -1,15 +1,12 @@
{inputs, ...}: {
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.trok;
in
{
in {
imports = [
inputs.trok.nixosModules.default
];

View File

@@ -1,17 +1,14 @@
{
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.uptime-kuma;
port = toString cfg.port;
acmeHost = config.tnix.services.nginx.domain;
in
{
in {
options.tnix.services.uptime-kuma = {
enable = mkEnableOption "Uptime Kuma";

View File

@@ -1,17 +1,14 @@
{
flake.modules.nixos.services =
{
flake.modules.nixos.services = {
config,
lib,
...
}:
with lib;
let
with lib; let
cfg = config.tnix.services.vaultwarden;
port = toString cfg.port;
acmeHost = config.tnix.services.nginx.domain;
in
{
in {
options.tnix.services.vaultwarden = {
enable = mkEnableOption "Vaultwarden";

View File

@@ -1,22 +1,17 @@
{
flake.modules.nixos.virtualisation =
{
flake.modules.nixos.virtualisation = {
config,
lib,
pkgs,
...
}:
let
}: let
cfg = config.tnix.virtualisation;
in
{
in {
options.tnix.virtualisation.distrobox = {
enable = lib.mkEnableOption "Enable DistroBox";
};
config = lib.mkIf cfg.distrobox.enable {
virtualisation.waydroid.enable = true;
environment.systemPackages = with pkgs; [
distrobox

View File

@@ -1,16 +1,13 @@
{
flake.modules.nixos.virtualisation =
{
flake.modules.nixos.virtualisation = {
config,
lib,
pkgs,
userName,
...
}:
let
}: let
cfg = config.tnix.virtualisation;
in
{
in {
options.tnix.virtualisation.docker = {
enable = lib.mkEnableOption "Docker container runtime";
nvidia = {

View File

@@ -1,16 +1,13 @@
{
flake.modules.nixos.virtualisation =
{
flake.modules.nixos.virtualisation = {
config,
lib,
pkgs,
userName,
...
}:
let
}: let
cfg = config.tnix.virtualisation;
in
{
in {
options.tnix.virtualisation.qemu = {
enable = lib.mkEnableOption "QEMU/KVM virtualization with libvirtd";
};
@@ -34,5 +31,4 @@
];
};
};
}

View File

@@ -1,14 +1,11 @@
{
flake.modules.nixos.virtualisation =
{
flake.modules.nixos.virtualisation = {
config,
lib,
...
}:
let
}: let
cfg = config.tnix.virtualisation;
in
{
in {
options.tnix.virtualisation.waydroid = {
enable = lib.mkEnableOption "Waydroid Android container";
};