mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-23 21:11:54 -05:00
reformatted with alejandra
This commit is contained in:
parent
c4f1643ee6
commit
0ecde61760
22
flake.nix
22
flake.nix
|
@ -33,26 +33,30 @@
|
|||
};
|
||||
|
||||
nixConfig = {
|
||||
extra-substituters =
|
||||
[ "https://nixcache.raffauflabs.com" "https://hyprland.cachix.org" ];
|
||||
extra-substituters = ["https://nixcache.raffauflabs.com" "https://hyprland.cachix.org"];
|
||||
extra-trusted-public-keys = [
|
||||
"nixcache.raffauflabs.com:yFIuJde/izA4aUDI3MZmBLzynEsqVCT1OfCUghOLlt8="
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
];
|
||||
};
|
||||
|
||||
outputs = inputs@{ nixpkgs, nixpkgs-unstable, home-manager
|
||||
, home-manager-unstable, nixos-hardware, impermanence, disko, disko-unstable
|
||||
, ... }: {
|
||||
|
||||
homeConfigurations.aly =
|
||||
home-manager-unstable.lib.homeManagerConfiguration {
|
||||
outputs = inputs @ {
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
home-manager,
|
||||
home-manager-unstable,
|
||||
nixos-hardware,
|
||||
impermanence,
|
||||
disko,
|
||||
disko-unstable,
|
||||
...
|
||||
}: {
|
||||
homeConfigurations.aly = home-manager-unstable.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs-unstable {system = "x86_64-linux";};
|
||||
modules = [./home.nix];
|
||||
};
|
||||
|
||||
nixosConfigurations = {
|
||||
|
||||
# Framework 13 with AMD Ryzen 7640U and 32GB RAM.
|
||||
lavaridge = nixpkgs-unstable.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
|
|
8
home.nix
8
home.nix
|
@ -1,6 +1,10 @@
|
|||
{ inputs, config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [./homeManagerModules];
|
||||
home.username = "aly";
|
||||
home.homeDirectory = "/home/aly";
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {cliApps.bash.enable = lib.mkEnableOption "Enables bash.";};
|
||||
|
||||
config = lib.mkIf config.cliApps.bash.enable {
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./bash ./emacs ./eza ./fzf ./neovim ./tmux ./neofetch];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {cliApps.emacs.enable = lib.mkEnableOption "Enables emacs.";};
|
||||
|
||||
config = lib.mkIf config.cliApps.emacs.enable {
|
||||
|
@ -7,8 +11,7 @@
|
|||
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
extraPackages = (epkgs:
|
||||
(with epkgs; [
|
||||
extraPackages = epkgs: (with epkgs; [
|
||||
better-defaults
|
||||
catppuccin-theme
|
||||
markdown-mode
|
||||
|
@ -26,7 +29,7 @@
|
|||
use-package
|
||||
yaml
|
||||
yaml-mode
|
||||
]));
|
||||
]);
|
||||
package = pkgs.emacs-nox;
|
||||
extraConfig = builtins.readFile ./emacs.el;
|
||||
};
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {cliApps.eza.enable = lib.mkEnableOption "Enables eza.";};
|
||||
|
||||
config = lib.mkIf config.cliApps.eza.enable {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {cliApps.fzf.enable = lib.mkEnableOption "Enables fzf.";};
|
||||
|
||||
config = lib.mkIf config.cliApps.fzf.enable {
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
cliApps.neofetch.enable = lib.mkEnableOption "Enable neofetch.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.cliApps.neofetch.enable {
|
||||
|
||||
home.packages = [pkgs.neofetch];
|
||||
xdg.configFile."neofetch/config.conf".source = ./config.conf;
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {cliApps.neovim.enable = lib.mkEnableOption "Enables neovim.";};
|
||||
|
||||
config = lib.mkIf config.cliApps.neovim.enable {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {cliApps.tmux.enable = lib.mkEnableOption "Enables tmux.";};
|
||||
|
||||
config = lib.mkIf config.cliApps.tmux.enable {
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [./cliApps ./guiApps ./desktopEnv ./userServices];
|
||||
|
||||
nixpkgs = {
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./gnome ./hypr ./sway];
|
||||
|
||||
desktopEnv.hyprland.enable = lib.mkDefault true;
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopEnv.gnome.enable =
|
||||
lib.mkEnableOption "Enables GNOME with basic settings configuration.";
|
||||
|
@ -12,8 +16,7 @@
|
|||
"org/gnome/desktop/interface".clock-format = "12h";
|
||||
"org/gnome/desktop/interface".enable-hot-corners = true;
|
||||
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
|
||||
"org/gnome/desktop/search-providers".enabled =
|
||||
"['org.gnome.Calendar.desktop', 'org.gnome.Weather.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Characters.desktop', 'org.gnome.clocks.desktop']";
|
||||
"org/gnome/desktop/search-providers".enabled = "['org.gnome.Calendar.desktop', 'org.gnome.Weather.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Characters.desktop', 'org.gnome.clocks.desktop']";
|
||||
"org/gnome/desktop/wm/preferences".auto-raise = true;
|
||||
"org/gnome/mutter".dynamic-workspaces = true;
|
||||
"org/gnome/mutter".edge-tiling = true;
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./hypridle ./hyprlock ./hyprpaper ./hyprshade ./theme.nix];
|
||||
|
||||
options = {
|
||||
|
@ -8,7 +12,6 @@
|
|||
};
|
||||
|
||||
config = lib.mkIf config.desktopEnv.hyprland.enable {
|
||||
|
||||
# Hypr* modules, plguins, and tools.
|
||||
desktopEnv.hyprland.hypridle.enable = lib.mkDefault true;
|
||||
desktopEnv.hyprland.hyprlock.enable = lib.mkDefault true;
|
||||
|
@ -109,7 +112,6 @@
|
|||
cursor_size = "24";
|
||||
qt_platform_theme = "gtk2";
|
||||
gdk_scale = "1.5";
|
||||
|
||||
in ''
|
||||
monitor = desc:BOE 0x0BCA,preferred,auto,1.566667 # lavaridge fw13 matte display
|
||||
monitor = desc:BOE 0x095F,preferred,auto,1.566667# lavaridge fw13 glossy display
|
||||
|
@ -322,6 +324,5 @@
|
|||
# Show/hide waybar.
|
||||
bind = ${modifier}, F11, exec, pkill -SIGUSR1 waybar
|
||||
'';
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopEnv.hyprland.hypridle.enable =
|
||||
lib.mkEnableOption "Enables hypridle.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktopEnv.hyprland.hypridle.enable {
|
||||
|
||||
# Packages that should be installed to the user profile.
|
||||
home.packages = with pkgs; [hypridle brightnessctl];
|
||||
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopEnv.hyprland.hyprlock.enable =
|
||||
lib.mkEnableOption "Enables hyprlock.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktopEnv.hyprland.hyprlock.enable {
|
||||
|
||||
# Packages that should be installed to the user profile.
|
||||
home.packages = with pkgs; [hyprlock];
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./hyprpaper-random.nix];
|
||||
|
||||
options = {
|
||||
|
@ -8,7 +12,6 @@
|
|||
};
|
||||
|
||||
config = lib.mkIf config.desktopEnv.hyprland.hyprpaper.enable {
|
||||
|
||||
# Packages that should be installed to the user profile.
|
||||
home.packages = with pkgs; [hyprpaper];
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
hyprpaper-random = pkgs.writeShellScriptBin "hyprpaper-random" ''
|
||||
directory=${config.home.homeDirectory}/.config/hypr/wallpapers
|
||||
monitor=`hyprctl monitors | grep Monitor | awk '{print $2}'`
|
||||
|
@ -24,13 +27,10 @@ in {
|
|||
lib.mkEnableOption "Enables hyprpaper random wallpaper script.";
|
||||
};
|
||||
|
||||
config =
|
||||
lib.mkIf config.desktopEnv.hyprland.hyprpaper.randomWallpaper.enable {
|
||||
|
||||
config = lib.mkIf config.desktopEnv.hyprland.hyprpaper.randomWallpaper.enable {
|
||||
# Packages that should be installed to the user profile.
|
||||
home.packages = with pkgs; [hyprpaper-random];
|
||||
|
||||
wayland.windowManager.hyprland.extraConfig =
|
||||
"exec-once = ${hyprpaper-random}/bin/hyprpaper-random";
|
||||
wayland.windowManager.hyprland.extraConfig = "exec-once = ${hyprpaper-random}/bin/hyprpaper-random";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopEnv.hyprland.hyprshade.enable =
|
||||
lib.mkEnableOption "Enables hyprshade with blue light filter.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktopEnv.hyprland.hyprshade.enable {
|
||||
|
||||
# Packages that should be installed to the user profile.
|
||||
home.packages = with pkgs; [hyprshade];
|
||||
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopEnv.hyprland.theme.enable =
|
||||
lib.mkEnableOption "Hyprland GTK and Qt themes.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktopEnv.hyprland.theme.enable {
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
|
@ -51,7 +54,6 @@
|
|||
gtk3.extraConfig = {gtk-application-prefer-dark-theme = 1;};
|
||||
|
||||
gtk4.extraConfig = {gtk-application-prefer-dark-theme = 1;};
|
||||
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopEnv.sway.enable = lib.mkEnableOption "Sway with extra apps.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktopEnv.sway.enable {
|
||||
|
||||
# Basic apps needed to run a hyprland desktop.
|
||||
guiApps.waybar.enable = lib.mkDefault true;
|
||||
guiApps.mako.enable = lib.mkDefault true;
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
guiApps.alacritty.enable = lib.mkEnableOption "Enables alacritty.";
|
||||
};
|
||||
|
@ -34,4 +38,3 @@
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
guiApps.chromium.enable = lib.mkEnableOption "Enables Chromium.";
|
||||
};
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./alacritty
|
||||
./chromium
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {guiApps.firefox.enable = lib.mkEnableOption "Enables Firefox.";};
|
||||
|
||||
config = lib.mkIf config.guiApps.firefox.enable {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
guiApps.fractal.enable =
|
||||
lib.mkEnableOption "Enables Fractal Matrix client.";
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {guiApps.fuzzel.enable = lib.mkEnableOption "Enables fuzzel.";};
|
||||
|
||||
config = lib.mkIf config.guiApps.fuzzel.enable {
|
||||
|
||||
home.packages = with pkgs; [
|
||||
(nerdfonts.override {fonts = ["Noto"];})
|
||||
(catppuccin-papirus-folders.override {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
guiApps.librewolf.enable = lib.mkEnableOption "Enables librewolf.";
|
||||
};
|
||||
|
@ -12,17 +16,13 @@
|
|||
"browser.safebrowsing.phishing.enabled" = true;
|
||||
"browser.safebrowsing.blockedURIs.enabled" = true;
|
||||
|
||||
"browser.safebrowsing.provider.google4.gethashURL" =
|
||||
"https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST";
|
||||
"browser.safebrowsing.provider.google4.gethashURL" = "https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST";
|
||||
|
||||
"browser.safebrowsing.provider.google4.updateURL" =
|
||||
"https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST";
|
||||
"browser.safebrowsing.provider.google4.updateURL" = "https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST";
|
||||
|
||||
"browser.safebrowsing.provider.google.gethashURL" =
|
||||
"https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2";
|
||||
"browser.safebrowsing.provider.google.gethashURL" = "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2";
|
||||
|
||||
"browser.safebrowsing.provider.google.updateURL" =
|
||||
"https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2&key=%GOOGLE_SAFEBROWSING_API_KEY%";
|
||||
"browser.safebrowsing.provider.google.updateURL" = "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2&key=%GOOGLE_SAFEBROWSING_API_KEY%";
|
||||
"browser.safebrowsing.downloads.enabled" = true;
|
||||
|
||||
"identity.fxaccounts.enabled" = true;
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {guiApps.mako.enable = lib.mkEnableOption "Enables mako.";};
|
||||
|
||||
config = lib.mkIf config.guiApps.mako.enable {
|
||||
|
||||
home.packages = with pkgs; [(nerdfonts.override {fonts = ["Noto"];})];
|
||||
|
||||
services.mako = {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
guiApps.obsidian.enable = lib.mkEnableOption "Enables Obsidian.";
|
||||
};
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {guiApps.tauon.enable = lib.mkEnableOption "Enables Tauon.";};
|
||||
|
||||
config = lib.mkIf config.guiApps.tauon.enable {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {guiApps.waybar.enable = lib.mkEnableOption "Enables waybar.";};
|
||||
|
||||
config = lib.mkIf config.guiApps.waybar.enable {
|
||||
|
@ -64,8 +68,7 @@
|
|||
{controller_alias} {controller_address}
|
||||
|
||||
{device_enumerate}'';
|
||||
"tooltip-format-enumerate-connected" =
|
||||
"{device_alias} {device_address}";
|
||||
"tooltip-format-enumerate-connected" = "{device_alias} {device_address}";
|
||||
"on-click" = "${pkgs.blueberry}/bin/blueberry";
|
||||
};
|
||||
"pulseaudio" = {
|
||||
|
@ -88,8 +91,7 @@
|
|||
"tooltip-format-wifi" = "{essid} ({signalStrength}%) ";
|
||||
"tooltip-format-ethernet" = "{ifname} ";
|
||||
"tooltip-format-disconnected" = "Disconnected";
|
||||
"on-click" =
|
||||
"${pkgs.alacritty}/bin/alacritty --class nmtui -e ${pkgs.networkmanager}/bin/nmtui";
|
||||
"on-click" = "${pkgs.alacritty}/bin/alacritty --class nmtui -e ${pkgs.networkmanager}/bin/nmtui";
|
||||
};
|
||||
"tray" = {"spacing" = 10;};
|
||||
"power-profiles-daemon" = {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {guiApps.webCord.enable = lib.mkEnableOption "Enables WebCord.";};
|
||||
|
||||
config = lib.mkIf config.guiApps.webCord.enable {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {guiApps.wlogout.enable = lib.mkEnableOption "Enables wlogout.";};
|
||||
|
||||
config = lib.mkIf config.guiApps.wlogout.enable {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {guiApps.zoom.enable = lib.mkEnableOption "Enables Zoom.";};
|
||||
|
||||
config = lib.mkIf config.guiApps.zoom.enable {
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./syncthing ./easyeffects];
|
||||
|
||||
userServices.syncthing.enable = lib.mkDefault true;
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
userServices.easyeffects.enable =
|
||||
lib.mkEnableOption "EasyEffects user service.";
|
||||
|
@ -11,7 +15,6 @@
|
|||
};
|
||||
|
||||
config = lib.mkIf config.userServices.easyeffects.enable {
|
||||
|
||||
xdg.configFile."easyeffects/output/framework13.json".source =
|
||||
./framework13.json;
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
userServices.syncthing.enable =
|
||||
lib.mkEnableOption "Enables syncthing as user.";
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
# Framework Laptop 13 with AMD Ryzen 7640U, 32GB RAM, 1TB SSD.
|
||||
|
||||
{ inputs, config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix # Include the results of the hardware scan.
|
||||
./home.nix
|
||||
|
@ -43,8 +46,7 @@
|
|||
virt-manager.enable = true;
|
||||
};
|
||||
|
||||
users.users.aly.hashedPassword =
|
||||
"$y$j9T$O9NgTk6iRfh3mxiRDvfdm1$BjvsAKYEMB3C28652FF15cj/i.3TgQAObQvR0rN1E6C";
|
||||
users.users.aly.hashedPassword = "$y$j9T$O9NgTk6iRfh3mxiRDvfdm1$BjvsAKYEMB3C28652FF15cj/i.3TgQAObQvR0rN1E6C";
|
||||
|
||||
system.stateVersion = "23.11"; # Did you read the comment?
|
||||
}
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules =
|
||||
[ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd" "amd-gpu"];
|
||||
boot.extraModulePackages = [];
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ inputs, config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home-manager.users.aly = {
|
||||
imports = [../../homeManagerModules];
|
||||
home.username = "aly";
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
# Custom desktop with AMD Ryzen 5 2600, 16GB RAM, AMD Rx 6700, and 1TB SSD + 2TB HDD.
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [./hardware-configuration.nix ./home.nix];
|
||||
|
||||
# Bootloader.
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules =
|
||||
[ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd" "amdgpu"];
|
||||
boot.extraModulePackages = [];
|
||||
|
@ -43,10 +46,12 @@
|
|||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [{
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/dev/disk/by-uuid/26094ada-7ba4-4437-bacb-b3cdf6c3397b";
|
||||
priority = 1;
|
||||
}];
|
||||
}
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ inputs, config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home-manager.users.aly = {
|
||||
imports = [../../homeManagerModules];
|
||||
home.username = "aly";
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
# Lenovo Yoga 9i Convertible with Intel Core i7-1360P, 15GB RAM, 512GB SSD.
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cs-adjuster = pkgs.writeShellScriptBin "cs-adjuster" ''
|
||||
# Get current color scheme
|
||||
color_scheme=$(gsettings get org.gnome.desktop.interface color-scheme)
|
||||
|
@ -50,7 +51,6 @@ let
|
|||
notify-send "Power profile set to $new_profile."
|
||||
'';
|
||||
};
|
||||
|
||||
in {
|
||||
imports = [
|
||||
./disko.nix
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules =
|
||||
[ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
|
||||
# Intel drivers with accelerated video playback support.
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
intel-vaapi-driver =
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
{ inputs, config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
users.users.aly.hashedPassword =
|
||||
"$y$j9T$Ug0ZLHQQuRciFJDgOI6r00$eHc.KyQY0oU4k0LKRiZiGWJ19jkKNWHpOoyCJbtJif8";
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
users.users.aly.hashedPassword = "$y$j9T$Ug0ZLHQQuRciFJDgOI6r00$eHc.KyQY0oU4k0LKRiZiGWJ19jkKNWHpOoyCJbtJif8";
|
||||
home-manager.users.aly = {
|
||||
imports = [../../homeManagerModules];
|
||||
home.username = "aly";
|
||||
|
@ -16,5 +19,4 @@
|
|||
preset = "LoudnessEqualizer.json";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
# Lenovo Thinkpad T440p with a Core i5 4210M, 16GB RAM, 512GB SSD.
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix # Include the results of the hardware scan.
|
||||
./home.nix
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
{ inputs, config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
userConfig.dustin.enable = true;
|
||||
|
||||
users.users.dustin.hashedPassword =
|
||||
"$y$j9T$OXQYhj4IWjRJWWYsSwcqf.$lCcdq9S7m0EAdej9KMHWj9flH8K2pUb2gitNhLTlLG/";
|
||||
users.users.dustin.hashedPassword = "$y$j9T$OXQYhj4IWjRJWWYsSwcqf.$lCcdq9S7m0EAdej9KMHWj9flH8K2pUb2gitNhLTlLG/";
|
||||
|
||||
home-manager.users.dustin = {
|
||||
imports = [../../homeManagerModules];
|
||||
|
@ -22,8 +25,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
users.users.aly.hashedPassword =
|
||||
"$y$j9T$VdtiEyMOegHpcUwgmCVFD0$K8Ne6.zk//VJNq2zxVQ0xE0Wg3LohvAQd3Xm9aXdM15";
|
||||
users.users.aly.hashedPassword = "$y$j9T$VdtiEyMOegHpcUwgmCVFD0$K8Ne6.zk//VJNq2zxVQ0xE0Wg3LohvAQd3Xm9aXdM15";
|
||||
|
||||
home-manager.users.aly = {
|
||||
imports = [../../homeManagerModules];
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./flatpak ./steam ./podman ./virt-manager];
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
apps.flatpak.enable =
|
||||
lib.mkEnableOption "Enables flatpak support with GUI.";
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
apps.podman.enable =
|
||||
lib.mkEnableOption "Enables Podman for OCI container support.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.apps.podman.enable {
|
||||
|
||||
virtualisation = {
|
||||
oci-containers = {backend = "podman";};
|
||||
podman = {
|
||||
|
@ -15,6 +18,5 @@
|
|||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
apps.steam.enable = lib.mkEnableOption "Enables Steam for video games.";
|
||||
};
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
apps.virt-manager.enable =
|
||||
lib.mkEnableOption "Enables virt-manager with TPM and EFI support.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.apps.virt-manager.enable {
|
||||
|
||||
programs.virt-manager.enable = true;
|
||||
|
||||
virtualisation = {libvirtd.enable = true;};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [./desktopConfig ./homeLab ./apps ./systemConfig ./userConfig];
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
imports =
|
||||
[ ./displayManagers/lightdm ./desktopEnvironments ./windowManagers ];
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./displayManagers/lightdm ./desktopEnvironments ./windowManagers];
|
||||
|
||||
options = {
|
||||
desktopConfig.enable =
|
||||
|
@ -9,7 +12,6 @@
|
|||
};
|
||||
|
||||
config = lib.mkIf config.desktopConfig.enable {
|
||||
|
||||
services = {
|
||||
gnome.gnome-keyring.enable = true;
|
||||
gvfs.enable = true; # Mount, trash, etc.
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./gnome ./plasma];
|
||||
}
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
imports = [ # Include X settings.
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Include X settings.
|
||||
./fprintdFix.nix
|
||||
./tripleBuffering.nix
|
||||
];
|
||||
|
@ -11,7 +16,6 @@
|
|||
};
|
||||
|
||||
config = lib.mkIf config.desktopConfig.desktopEnvironments.gnome.enable {
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
gnomeExtensions.appindicator
|
||||
gnomeExtensions.blur-my-shell
|
||||
|
|
|
@ -1,18 +1,20 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopConfig.desktopEnvironments.gnome.fprintdFix.enable =
|
||||
lib.mkEnableOption
|
||||
"Fixes fprintd and pam issues with GNOME Display Manager.";
|
||||
};
|
||||
|
||||
config =
|
||||
lib.mkIf config.desktopConfig.desktopEnvironments.gnome.fprintdFix.enable {
|
||||
config = lib.mkIf config.desktopConfig.desktopEnvironments.gnome.fprintdFix.enable {
|
||||
# Need to change the order pam loads its modules
|
||||
# to get proper fingerprint behavior on GDM and the lockscreen.
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
security.pam.services.gdm-fingerprint =
|
||||
lib.mkIf (config.services.fprintd.enable) {
|
||||
security.pam.services.gdm-fingerprint = lib.mkIf (config.services.fprintd.enable) {
|
||||
text = ''
|
||||
auth required pam_shells.so
|
||||
auth requisite pam_nologin.so
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopConfig.desktopEnvironments.gnome.tripleBuffering.enable =
|
||||
lib.mkEnableOption "Enables dynamic triple buffering for GNOME.";
|
||||
};
|
||||
|
||||
config = lib.mkIf
|
||||
config =
|
||||
lib.mkIf
|
||||
config.desktopConfig.desktopEnvironments.gnome.tripleBuffering.enable {
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopConfig.plasma.enable =
|
||||
lib.mkEnableOption "Enables plasma desktop session.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktopConfig.plasma.enable {
|
||||
|
||||
# Enable SDDM + Plasma Desktop.
|
||||
services = {
|
||||
desktopManager.plasma6.enable = true;
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./lightdm];
|
||||
}
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopConfig.displayManagers.lightdm.enable = lib.mkEnableOption
|
||||
desktopConfig.displayManagers.lightdm.enable =
|
||||
lib.mkEnableOption
|
||||
"Enables lightdm and slick greeter with Catppuccin theme.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktopConfig.displayManagers.lightdm.enable {
|
||||
|
||||
security.pam.services.lightdm.enableKwallet = true;
|
||||
security.pam.services.lightdm.enableGnomeKeyring = true;
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./hyprland];
|
||||
}
|
||||
|
|
|
@ -1,20 +1,23 @@
|
|||
{ inputs, pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopConfig.windowManagers.hyprland.enable =
|
||||
lib.mkEnableOption "Enables hyprland window manager session.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktopConfig.windowManagers.hyprland.enable {
|
||||
|
||||
desktopConfig.displayManagers.lightdm.enable = lib.mkDefault false;
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
default_session = {
|
||||
command =
|
||||
"${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --cmd Hyprland";
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --cmd Hyprland";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
desktopConfig.windowManagers.sway.enable =
|
||||
lib.mkEnableOption "Sway window manager session.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.desktopConfig.windowManagers.sway.enable {
|
||||
|
||||
desktopConfig.displayManagers.lightdm.enable = lib.mkDefault true;
|
||||
|
||||
programs.sway.enable = true;
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
homeLab.binaryCache.enable = lib.mkEnableOption "Enables nixpkgs cache.";
|
||||
};
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
imports =
|
||||
[ ./binaryCache ./reverseProxy ./nixContainers ./ociContainers ./samba ];
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./binaryCache ./reverseProxy ./nixContainers ./ociContainers ./samba];
|
||||
|
||||
options = {
|
||||
homeLab.enable = lib.mkEnableOption "Enables fully functional Home Lab.";
|
||||
|
|
|
@ -1,16 +1,24 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
homeLab.nixContainers.enable =
|
||||
lib.mkEnableOption "Enables select nix containers.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.homeLab.nixContainers.enable {
|
||||
|
||||
containers.navidrome = {
|
||||
autoStart = true;
|
||||
bindMounts."/Music".hostPath = "/mnt/Media/Music";
|
||||
config = { config, pkgs, lib, ... }: {
|
||||
config = {
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
system.stateVersion = "24.05";
|
||||
services.navidrome = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
homeLab.ociContainers.enable =
|
||||
lib.mkEnableOption "Enables select OCI containers.";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.homeLab.ociContainers.enable {
|
||||
|
||||
apps.podman.enable = lib.mkDefault true;
|
||||
|
||||
virtualisation.oci-containers.containers = {
|
||||
|
@ -14,8 +17,7 @@
|
|||
ports = ["0.0.0.0:13378:80"];
|
||||
image = "ghcr.io/advplyr/audiobookshelf:latest";
|
||||
environment = {TZ = "America/New_York";};
|
||||
volumes =
|
||||
[ "abs_config:/config" "abs_metadata:/metadata" "/mnt/Media:/Media" ];
|
||||
volumes = ["abs_config:/config" "abs_metadata:/metadata" "/mnt/Media:/Media"];
|
||||
};
|
||||
plex-server = {
|
||||
ports = ["0.0.0.0:32400:32400"];
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
homeLab.reverseProxy.enable =
|
||||
lib.mkEnableOption "Enables nginx reverse proxy.";
|
||||
|
@ -67,8 +71,7 @@
|
|||
virtualHosts."nixcache.raffauflabs.com" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/".proxyPass =
|
||||
"http://${config.services.nix-serve.bindAddress}:${
|
||||
locations."/".proxyPass = "http://${config.services.nix-serve.bindAddress}:${
|
||||
toString config.services.nix-serve.port
|
||||
}";
|
||||
};
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
homeLab.samba.enable =
|
||||
lib.mkEnableOption "Enables /Archive and /Media samba shares.";
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [./network.nix ./plymouth ./power-profiles-daemon ./zramSwap];
|
||||
|
||||
systemConfig.power-profiles-daemon.enable = lib.mkDefault true;
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
systemConfig.plymouth.enable = lib.mkEnableOption
|
||||
systemConfig.plymouth.enable =
|
||||
lib.mkEnableOption
|
||||
"Enables plymouth boot screen with reduced text verbosity.";
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
systemConfig.power-profiles-daemon.enable =
|
||||
lib.mkEnableOption "Enables power-profiles-daemon.";
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
systemConfig.zramSwap.enable = lib.mkEnableOption "Enables zram swap.";
|
||||
systemConfig.zramSwap.size = lib.mkOption {
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
{ inputs, pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
userConfig.aly.enable = lib.mkEnableOption "Enables Aly's user.";
|
||||
};
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./aly ./dustin];
|
||||
|
||||
userConfig.aly.enable = lib.mkDefault true;
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, lib, config, ... }: {
|
||||
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
userConfig.dustin.enable = lib.mkEnableOption "Enables Dustin's user.";
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue