formatted everything, things are looking nice now.

This commit is contained in:
vali 2024-05-15 00:14:59 +02:00
commit ad562f5479
57 changed files with 2269 additions and 2311 deletions

View file

@ -1,7 +1,6 @@
{
description = "lololo";
outputs = inputs @ { self, nixpkgs, ... }:
{
outputs = inputs@{ self, nixpkgs, ... }: {
inherit (nixpkgs) lib;
nixosConfigurations = import ./hosts { inherit inputs; };
};
@ -18,7 +17,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
split-monitor-workspaces = {
url = "github:Duckonaut/split-monitor-workspaces";
inputs.hyprland.follows = "hyprland";

View file

@ -1,5 +1,6 @@
{ pkgs, lib, config, callPackage, ... }:
with lib; let
with lib;
let
username = config.modules.other.system.username;
cfg = config.modules.programs.awesome;
in {
@ -16,7 +17,8 @@ in {
options = "grp:alt_space_toggle";
};
windowManager.awesome.enable = true;
displayManager.setupCommands = "${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1";
displayManager.setupCommands =
"${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1";
};
};
};

View file

@ -1,5 +1,4 @@
{ config, inputs, pkgs, lib, ... }:
{
{ config, inputs, pkgs, lib, ... }: {
# allow unfree packages
nixpkgs.config.allowUnfree = true;
# Time Zone
@ -21,7 +20,7 @@
programs.dconf.enable = true;
boot.kernelModules = [ "v4l2loopback" ];
boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ];
# services.picom.enable = true;
# services.picom.enable = true;
modules = {
other = {
system = {
@ -40,25 +39,21 @@
btop.enable = true;
mpv.enable = true;
kitty.enable = true;
# awesome.enable = true;
# awesome.enable = true;
hyprland.enable = true;
newsboat.enable = true;
# emacs.enable = true;
# emacs.enable = true;
fish.enable = true;
stylix.enable = true;
helix.enable = true;
nh.enable = true;
schizofox.enable = true;
# spicetify.enable = true;
# spicetify.enable = true;
anyrun.enable = true;
};
services = {
pipewire.enable = true;
};
services = { pipewire.enable = true; };
themes = {
gtk = {
enable = true;
};
gtk = { enable = true; };
qt = {
enable = true;
package = pkgs.kde-gruvbox;

View file

@ -1,30 +1,29 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
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-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/0423508a-6906-4872-baeb-2b1e6bd017a4";
fileSystems."/" = {
device = "/dev/disk/by-uuid/0423508a-6906-4872-baeb-2b1e6bd017a4";
fsType = "ext4";
options = [ "noatime" "nodiratime" "discard" ];
};
boot.initrd.luks.devices."luks-c03fc486-bdd7-46bf-ac2f-1a55fe1abd6f".device = "/dev/disk/by-uuid/c03fc486-bdd7-46bf-ac2f-1a55fe1abd6f";
boot.initrd.luks.devices."luks-c03fc486-bdd7-46bf-ac2f-1a55fe1abd6f".device =
"/dev/disk/by-uuid/c03fc486-bdd7-46bf-ac2f-1a55fe1abd6f";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D299-5174";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/D299-5174";
fsType = "vfat";
};
swapDevices =
[
swapDevices = [
# { device = "/dev/disk/by-uuid/bc68b3b5-1b58-4d8c-be8d-b06bbc4b6da7"; }
];
@ -36,5 +35,6 @@
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -5,7 +5,8 @@ let
username = config.modules.other.system.username;
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
inherit (inputs.anyrun.packages.${pkgs.system}) anyrun;
inherit (inputs.nixpkgs-wayland.packages.${pkgs.system}) wl-clipboard swww wlsunset;
inherit (inputs.nixpkgs-wayland.packages.${pkgs.system})
wl-clipboard swww wlsunset;
inherit (inputs.waybar.packages.${pkgs.system}) waybar;
in {
options.modules.programs.hyprland.enable = mkEnableOption "hyprland";
@ -79,7 +80,6 @@ in {
"19, monitor:HDMI-A-2"
"20, monitor:HDMI-A-2"
"21, monitor:DP-2, default:true"
"22, monitor:DP-2"
"23, monitor:DP-2"
@ -108,9 +108,7 @@ in {
follow_mouse = true;
repeat_rate = 50;
repeat_delay = 250;
tablet = {
output = "HDMI-A-2";
};
tablet = { output = "HDMI-A-2"; };
};
general = {
@ -158,13 +156,9 @@ in {
];
};
dwindle = {
no_gaps_when_only = true;
};
dwindle = { no_gaps_when_only = true; };
debug = {
disable_logs =false;
};
debug = { disable_logs = false; };
misc = {
enable_swallow = true;
@ -324,7 +318,7 @@ in {
};
environment.systemPackages = with pkgs; [
(waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ ["-Dexperimental=true"];
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
}))
dunst
libnotify

View file

@ -19,7 +19,9 @@ in {
fastfetch
feh
(fenix.complete.withComponents [
"cargo" "clippy" "rust-src"
"cargo"
"clippy"
"rust-src"
"rustc"
"rustfmt"
])
@ -52,6 +54,7 @@ in {
networkmanagerapplet
nextcloud-client
nicotine-plus
nil
nitch
nixpkgs-wayland.swww
nmap

View file

@ -1,7 +1 @@
_: {
imports = [
./neovim.nix
./fish.nix
./nh.nix
];
}
_: { imports = [ ./neovim.nix ./fish.nix ./nh.nix ]; }

View file

@ -1,9 +1,6 @@
{
config,
lib,
pkgs,
...
}: with lib; let
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.modules.programs.fish;
username = config.modules.other.system.username;
hostname = config.modules.other.system.hostname;
@ -14,7 +11,7 @@ in {
extraAliases = mkOption {
type = types.attrs;
description = "extra shell aliases";
default = {};
default = { };
};
};
@ -36,11 +33,26 @@ in {
enable = true;
interactiveShellInit = "set fish_greeting";
plugins = [
{ name = "grc"; src = pkgs.fishPlugins.grc.src; }
{ name = "sponge"; src = pkgs.fishPlugins.sponge.src; }
{ name = "done"; src = pkgs.fishPlugins.done.src; }
{ name = "colored_man_pages"; src = pkgs.fishPlugins.colored-man-pages.src; }
{ name = "tide"; src = pkgs.fishPlugins.tide.src; }
{
name = "grc";
src = pkgs.fishPlugins.grc.src;
}
{
name = "sponge";
src = pkgs.fishPlugins.sponge.src;
}
{
name = "done";
src = pkgs.fishPlugins.done.src;
}
{
name = "colored_man_pages";
src = pkgs.fishPlugins.colored-man-pages.src;
}
{
name = "tide";
src = pkgs.fishPlugins.tide.src;
}
];
shellAbbrs = {
c = "clear";
@ -56,7 +68,8 @@ in {
v = "nvim";
h = "hx";
e = "emacs";
update = "sudo nixos-rebuild switch --flake \"${gitPath}#${hostname}\"";
update =
''sudo nixos-rebuild switch --flake "${gitPath}#${hostname}"'';
flake = "cd '${gitPath}'";
} // cfg.extraAliases;
};

View file

@ -9,8 +9,7 @@ let
};
cfg = config.modules.programs.neovim-old;
username = config.modules.other.system.username;
in
{
in {
options.modules.programs.neovim-old.enable = lib.mkEnableOption "neovim-old";
config = lib.mkIf cfg.enable {
@ -30,6 +29,5 @@ in
};
};
};
}

View file

@ -1,5 +1,6 @@
{ pkgs, lib, config, callPackage, ... }:
with lib; let
with lib;
let
username = config.modules.other.system.username;
cfg = config.modules.programs.nh;
in {

View file

@ -1,9 +1 @@
_: {
imports = [
./cli
./gui
./tui
./other
./services
];
}
_: { imports = [ ./cli ./gui ./tui ./other ./services ]; }

View file

@ -1,3 +1 @@
_: {
imports = [./anyrun.nix];
}
_: { imports = [ ./anyrun.nix ]; }

View file

@ -15,6 +15,6 @@ _: {
./steam.nix
./schizofox.nix
./minecraft.nix
# ./emacs
# ./emacs
];
}

View file

@ -1,5 +1 @@
_:{
imports = [
./emacs.nix
];
}
_: { imports = [ ./emacs.nix ]; }

View file

@ -1,5 +1,6 @@
{ config, lib, pkgs, inputs, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.emacs;
username = config.modules.other.system.username;
in {

View file

@ -1,14 +1,16 @@
{ config, lib, inputs, pkgs, ... }:
with lib; let
with lib;
let
username = config.modules.other.system.username;
cfg = config.modules.programs.firefox;
in {
options.modules.programs.firefox = {
enable = mkEnableOption "firefox";
extensions = mkOption {
description = "firefox extensions (format like https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265)";
description =
"firefox extensions (format like https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265)";
type = types.attrs;
default = {};
default = { };
};
};
@ -21,7 +23,7 @@ in {
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = {
Value= true;
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
@ -33,8 +35,10 @@ in {
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
DisplayBookmarksToolbar =
"never"; # alternatives: "always" or "newtab"
DisplayMenuBar =
"default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate"
FirefoxSuggest = {
WebSuggestions = true;
@ -53,12 +57,16 @@ in {
OfferToSaveLogins = false;
font = "Lexend";
ExtensionSettings = lib.mkMerge [{
ExtensionSettings = lib.mkMerge [
{
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
install_url =
"https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
};
} cfg.extensions];
}
cfg.extensions
];
};
};
};

View file

@ -1,5 +1,6 @@
{ config, lib, pkgs, ... }:
with lib; let
with lib;
let
cfg = config.modules.themes.gtk;
username = config.modules.other.system.username;
hmCfg = config.home-manager.users.${username};
@ -48,7 +49,6 @@ in {
#GTK_THEME = "Gruvbox-Dark-BL";
# GTK_USE_PORTAL = "1";
};
};
};

View file

@ -1,5 +1,6 @@
{ config, lib, pkgs, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.kitty;
username = config.modules.other.system.username;
in {
@ -17,8 +18,7 @@ in {
#background_opacity = "0.9";
confirm_os_window_close = "0";
#font_family = "JetBrainsMono Nerd Font";
/*
cursor_text_color = "background";
/* cursor_text_color = "background";
url_color = "#83a598";

View file

@ -1,5 +1,6 @@
{ config, lib, inputs, pkgs, ... }:
with lib; let
with lib;
let
username = config.modules.other.system.username;
cfg = config.modules.programs.minecraft;
in {
@ -10,19 +11,17 @@ in {
config = mkIf cfg.enable {
# Set wayland environment flag
environment.variables = mkIf cfg.wayland {
__GL_THREADED_OPTIMIZATIONS=0;
};
environment.variables =
mkIf cfg.wayland { __GL_THREADED_OPTIMIZATIONS = 0; };
# Install glfw-wayland-minecraft
environment.systemPackages = with pkgs; mkIf cfg.wayland [
environment.systemPackages = with pkgs;
mkIf cfg.wayland [
glfw-wayland-minecraft # Use these parameters in the prism launcher: -Dfml.earlyprogresswindow=false -Dorg.lwjgl.glfw.libname=/nix/store/ypkdx5844pp1vdw2z2nmnf2nb9kgl0mp-glfw-wayland-minecraft-unstable-2023-06-01/lib/libglfw.so
];
home-manager.users.${username} = {
# Install minecraft
home.packages = with pkgs; [
prismlauncher
];
home.packages = with pkgs; [ prismlauncher ];
};
};
}

View file

@ -1,9 +1,6 @@
{
config,
lib,
pkgs,
...
}: with lib; let
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.modules.programs.mpv;
username = config.modules.other.system.username;
in {
@ -20,12 +17,7 @@ in {
osd-bar = "no";
border = "no";
};
scripts = with pkgs.mpvScripts; [
mpris
thumbfast
sponsorblock
uosc
];
scripts = with pkgs.mpvScripts; [ mpris thumbfast sponsorblock uosc ];
};
};
};

View file

@ -1,9 +1,6 @@
{
config,
lib,
pkgs,
...
}: with lib; let
{ config, lib, pkgs, ... }:
with lib;
let
theme = {
package = pkgs.gruvbox-gtk-theme;
name = "Gruvbox-Dark-BL";
@ -32,9 +29,7 @@ in {
};
config = mkIf cfg.enable {
environment.sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt5ct";
};
environment.sessionVariables = { QT_QPA_PLATFORMTHEME = "qt5ct"; };
environment.variables = {
QT_STYLE_OVERRIDE = lib.mkForce "kvantum";
GTK_THEME = theme.name;

View file

@ -6,8 +6,7 @@ let
cfg = config.modules.programs.rofi;
in {
options.modules.programs.rofi.enable = mkEnableOption "rofi";
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ rofi ];
};
config =
mkIf cfg.enable { environment.systemPackages = with pkgs; [ rofi ]; };
}

View file

@ -1,12 +1,11 @@
{ config, inputs, lib, ... }: let
{ config, inputs, lib, ... }:
let
cfg = config.modules.programs.schizofox;
inherit (config.modules.other.system) username;
inherit (lib) mkEnableOption mkIf;
in {
options.modules.programs.schizofox = {
enable = mkEnableOption "schizofox";
};
options.modules.programs.schizofox = { enable = mkEnableOption "schizofox"; };
config = mkIf cfg.enable {
home-manager.users.${username} = {
@ -29,21 +28,24 @@ in {
};
search = {
defaultSearchEngine = "DuckDuckGo";
removeEngines = ["Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia"];
removeEngines =
[ "Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia" ];
addEngines = [
{
Name = "NixOS Packages";
Description = "NixOS Unstable package search";
Alias = "!np";
Method = "GET";
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
URLTemplate =
"https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
}
{
Name = "NixOS Options";
Description = "NixOS Unstable option search";
Alias = "!no";
Method = "GET";
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
URLTemplate =
"https://search.nixos.org/options?channel=unstable&query={searchTerms}";
}
{
Name = "NixOS Wiki";
@ -57,28 +59,32 @@ in {
Description = "Home Manager option search";
Alias = "!hm";
Method = "GET";
URLTemplate = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
URLTemplate =
"https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
}
{
Name = "Arch Wiki";
Description = "Arch Wiki search";
Alias = "!aw";
Method = "GET";
URLTemplate = "https://wiki.archlinux.org/index.php?search={searchTerms}";
URLTemplate =
"https://wiki.archlinux.org/index.php?search={searchTerms}";
}
{
Name = "Gentoo Wiki";
Description = "Gentoo Wiki search";
Alias = "!gw";
Method = "GET";
URLTemplate = "https://wiki.gentoo.org/index.php?search={searchTerms}";
URLTemplate =
"https://wiki.gentoo.org/index.php?search={searchTerms}";
}
{
Name = "Debian Wiki";
Description = "Debian Wiki search";
Alias = "!dw";
Method = "GET";
URLTemplate = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
URLTemplate =
"https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
}
];
};
@ -87,13 +93,15 @@ in {
darkreader.enable = true;
# vimium.enable = true;
extraExtensions = {
"webextension@vimium".install_url = "https://addons.mozilla.org/firefox/downloads/file/4259790/vimium_ff-2.1.2.xpi";
"webextension@vimium".install_url =
"https://addons.mozilla.org/firefox/downloads/file/4259790/vimium_ff-2.1.2.xpi";
};
};
security = {
sanitizeOnShutdown = true;
sandbox = true;
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
userAgent =
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
};
misc = {

View file

@ -1,5 +1,6 @@
{ config, pkgs, lib, inputs, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.spicetify;
username = config.modules.other.system.username;
#inherit (inputs.spicetify-nix.packages.${pkgs.system}.default) spicePkgs;
@ -7,9 +8,5 @@ with lib; let
in {
options.modules.programs.spicetify.enable = mkEnableOption "spicetify";
imports = [ spicetify-nix.homeManagerModule ];
config = mkIf cfg.enable {
programs.spicetify = {
enable = true;
};
};
config = mkIf cfg.enable { programs.spicetify = { enable = true; }; };
}

View file

@ -1,6 +1,6 @@
{ config, lib, inputs, pkgs, ... }:
with lib; let
with lib;
let
username = config.modules.other.system.username;
cfg = config.modules.programs.steam;
in {
@ -16,7 +16,6 @@ in {
dedicatedServer.openFirewall = true;
gamescopeSession.enable = mkIf cfg.gamescope true;
};
home-manager.users.${username} = {
};
home-manager.users.${username} = { };
};
}

View file

@ -1,5 +1,6 @@
{ config, pkgs, lib, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.stylix;
username = config.modules.other.system.username;
in {
@ -10,7 +11,8 @@ in {
stylix = {
polarity = "dark";
image = ../../FreeBSD.png;
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-soft.yaml";
base16Scheme =
"${pkgs.base16-schemes}/share/themes/gruvbox-dark-soft.yaml";
autoEnable = true;
targets = {
btop.enable = true;
@ -47,15 +49,18 @@ in {
};
monospace = {
package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];});
package =
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; });
name = "JetBrainsMono";
};
serif = {
package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];});
package =
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; });
name = "JetBrainsMono";
};
sansSerif = {
package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];});
package =
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; });
name = "JetBrainsMono";
};
emoji = {

View file

@ -1,15 +1,10 @@
{
config,
lib,
pkgs,
...
}: with lib; let
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.modules.programs.vesktop;
username = config.modules.other.system.username;
in {
options.modules.programs.vesktop = {
enable = mkEnableOption "vesktop";
};
options.modules.programs.vesktop = { enable = mkEnableOption "vesktop"; };
config = mkIf cfg.enable {
home-manager.users.${username} = {
@ -33,8 +28,10 @@ in {
autoUpdate = false;
autoUpdateNotification = false;
useQuickCss = true;
themeLinks = ["https://github.com/Costeer/Gruvbox-Material-Themes/blob/main/Discord%20Theme/gruvboxmaterial.theme.css"];
enabledThemes = ["gruvboxmaterial.theme.css"];
themeLinks = [
"https://github.com/Costeer/Gruvbox-Material-Themes/blob/main/Discord%20Theme/gruvboxmaterial.theme.css"
];
enabledThemes = [ "gruvboxmaterial.theme.css" ];
enableReactDevtools = true;
frameless = false;
transparent = false;
@ -132,7 +129,7 @@ in {
iLoveSpam.enabled = true;
IgnoreActivities = {
enabled = true;
ignoredActivities = [];
ignoredActivities = [ ];
};
ImageZoom = {
enabled = true;
@ -264,7 +261,8 @@ in {
ServerProfile.enabled = true;
ShikiCodeblocks = {
enabled = true;
theme = "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dark-plus.json";
theme =
"https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dark-plus.json";
tryHljs = "SECONDARY";
uesDevIcon = "GREYSCALE";
};

View file

@ -1,5 +1,4 @@
{ pkgs, nur, ...}:
{ pkgs, nur, ... }:
let
vivado-desktop-symbol = pkgs.makeDesktopItem {
@ -7,8 +6,7 @@ let
desktopName = "Vivado";
exec = "${pkgs.nur.repos.lschuermann.vivado-2022_2}/bin/vivado";
};
in
{
in {
environment.systemPackages = with pkgs; [
# this propietary software is huge, but I need it for
@ -17,7 +15,6 @@ in
vivado-desktop-symbol
];
# Create udev rules. Reference: https://blog.kotatsu.dev/posts/2021-09-14-vivado-on-nixos/
services.udev.packages = [
(pkgs.writeTextFile {

View file

@ -1,9 +1,6 @@
{
config,
lib,
pkgs,
...
}: with lib; let
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.modules.programs.zathura;
username = config.modules.other.system.username;
catppuccin = pkgs.fetchFromGitHub {
@ -18,15 +15,14 @@ in {
config = mkIf cfg.enable {
home-manager.users.${username} = {
xdg.configFile."zathura/catppuccin-mocha".source = "${catppuccin}/src/catppuccin-mocha";
xdg.configFile."zathura/catppuccin-mocha".source =
"${catppuccin}/src/catppuccin-mocha";
programs.zathura = {
enable = true;
extraConfig = ''
include catppuccin-mocha
'';
options = {
selection-clipboard = "clipboard";
};
options = { selection-clipboard = "clipboard"; };
};
};
};

View file

@ -1,8 +1,2 @@
_: {
imports = [
./home-manager.nix
./system.nix
./xdg.nix
];
}
_: { imports = [ ./home-manager.nix ./system.nix ./xdg.nix ]; }

View file

@ -1,10 +1,6 @@
{
config,
inputs,
lib,
self,
...
}: with lib; let
{ config, inputs, lib, self, ... }:
with lib;
let
cfg = config.modules.other.home-manager;
username = config.modules.other.system.username;
in {
@ -17,7 +13,7 @@ in {
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
extraSpecialArgs = {inherit inputs self;};
extraSpecialArgs = { inherit inputs self; };
users.${username} = {
programs = {
home-manager.enable = true;

View file

@ -1,9 +1,6 @@
{
config,
lib,
...
}: with lib; let
cfg = config.modules.other.system;
{ config, lib, ... }:
with lib;
let cfg = config.modules.other.system;
in {
options.modules.other.system = {
hostname = mkOption {

View file

@ -12,9 +12,7 @@ let
terminal = "kitty.desktop";
in {
environment.sessionVariables = {
TERMINAL = "${terminal}";
};
environment.sessionVariables = { TERMINAL = "${terminal}"; };
home-manager.users.${username} = {
xdg = {

View file

@ -1,7 +1 @@
_: {
imports = [
./pipewire.nix
./ssh.nix
./greetd.nix
];
}
_: { imports = [ ./pipewire.nix ./ssh.nix ./greetd.nix ]; }

View file

@ -1,5 +1,6 @@
{ config, inputs, lib, pkgs, ... }:
with lib; let
with lib;
let
cfg = config.modules.services.greetd;
inherit (config.modules.other.system) username;
@ -16,8 +17,14 @@ with lib; let
workspace=1,default:true,gapsout:0,gapsin:0,border:false,decorate:false
#exec-once=[workspace 1;fullscreen;noanim] ${pkgs.greetd.${cfg.greeter}}/bin/${cfg.greeter} -l; ${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl dispatch exit
#exec-once=${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl dispatch focuswindow ${cfg.greeter}
#exec-once=[workspace 1;fullscreen;noanim] ${
pkgs.greetd.${cfg.greeter}
}/bin/${cfg.greeter} -l; ${
inputs.hyprland.packages.${pkgs.system}.hyprland
}/bin/hyprctl dispatch exit
#exec-once=${
inputs.hyprland.packages.${pkgs.system}.hyprland
}/bin/hyprctl dispatch focuswindow ${cfg.greeter}
'';
in {
options.modules.services.greetd = {
@ -36,11 +43,14 @@ in {
services.greetd = {
enable = true;
settings.default_session = {
command = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/Hyprland --config ${hyprlandConfig}";
command = "${
inputs.hyprland.packages.${pkgs.system}.hyprland
}/bin/Hyprland --config ${hyprlandConfig}";
user = username;
};
};
environment.etc."greetd/environments".text = concatStringsSep "\n" cfg.launchOptions;
environment.etc."greetd/environments".text =
concatStringsSep "\n" cfg.launchOptions;
};
}

View file

@ -1,6 +1,6 @@
{ config, lib, ... }:
with lib; let
cfg = config.modules.services.pipewire;
with lib;
let cfg = config.modules.services.pipewire;
in {
options.modules.services.pipewire.enable = mkEnableOption "pipewire";

View file

@ -1,14 +1,11 @@
{ config, lib, pkgs, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.ssh;
username = config.modules.other.system.username;
in {
options.modules.programs.ssh.enable = mkEnableOption "ssh";
config = mkIf cfg.enable {
programs.ssh = {
startAgent = true;
};
};
config = mkIf cfg.enable { programs.ssh = { startAgent = true; }; };
}

View file

@ -1,5 +1,6 @@
{ config, lib, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.btop;
username = config.modules.other.system.username;
in {

View file

@ -1,5 +1,6 @@
{ config, lib, pkgs, inputs, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.helix;
username = config.modules.other.system.username;
in {
@ -15,15 +16,25 @@ in {
mouse = false;
bufferline = "multiple";
lsp.display-messages = true;
cursor-shape = {
insert = "bar";
};
cursor-shape = { insert = "bar"; };
statusline.left =
[ "mode" "spinner" "version-control" "file-name" ];
};
keys.normal = {
C-g = [":new" ":insert-output lazygit" ":buffer-close!" ":redraw"];
esc = ["collapse_selection" "keep_primary_selection"];
C-g =
[ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ];
C-t = [ ":new" ":insert-output fish" ":buffer-close!" ":redraw" ];
esc = [ "collapse_selection" "keep_primary_selection" ];
A-H = "goto_previous_buffer";
A-L = "goto_next_buffer";
A-w = ":buffer-close";
};
};
languages.language = [{
name = "nix";
auto-format = true;
formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
}];
};
};
};

View file

@ -1,5 +1,6 @@
{ config, lib, pkgs, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.ncmpcpp;
username = config.modules.other.system.username;
in {
@ -10,16 +11,20 @@ in {
xdg.configFile."ncmpcpp/config".source = ./config;
programs.ncmpcpp = {
enable = true;
package = (pkgs.ncmpcpp.override {visualizerSupport = true;});
package = (pkgs.ncmpcpp.override { visualizerSupport = true; });
mpdMusicDir = "/home/vali/Nextcloud/Media/Music";
settings = {
mpd_host = "127.0.0.1";
mpd_port = "6600";
alternative_header_first_line_format = "$5{$b%t$/b}$9";
alternative_header_second_line_format = "$3by $7{$b%a$/b}$9 $3from $7{$b%b$/b}$9 $5{(%y)}";
song_list_format = " $2%n$(end) $9 $3%a$(end) $(245)-$9 $(246)%t$9 $R{ $5%y$9}$(end) $(246)%lq$(end)";
song_columns_list_format ="(3f)[red]{n} (3f)[246]{} (35)[white]{t} (18)[blue]{a} (30)[green]{b} (5f)[yellow]{d} (5f)[red]{y} (7f)[magenta]{l}";
song_status_format = "$b $8%A $8$3 $3%t $3$5 $5%b $5$2 $2%y $2$8 %g";
alternative_header_second_line_format =
"$3by $7{$b%a$/b}$9 $3from $7{$b%b$/b}$9 $5{(%y)}";
song_list_format =
" $2%n$(end) $9 $3%a$(end) $(245)-$9 $(246)%t$9 $R{ $5%y$9}$(end) $(246)%lq$(end)";
song_columns_list_format =
"(3f)[red]{n} (3f)[246]{} (35)[white]{t} (18)[blue]{a} (30)[green]{b} (5f)[yellow]{d} (5f)[red]{y} (7f)[magenta]{l}";
song_status_format =
"$b $8%A $8$3 $3%t $3$5 $5%b $5$2 $2%y $2$8 %g";
playlist_display_mode = "columns";
browser_display_mode = "columns";
search_engine_display_mode = "columns";
@ -50,7 +55,7 @@ in {
titles_visibility = "no";
enable_window_title = "yes";
statusbar_visibility = "yes";
empty_tag_marker="";
empty_tag_marker = "";
mouse_support = "yes";
header_visibility = "no";
display_remaining_time = "no";
@ -66,7 +71,7 @@ in {
mouse_list_scroll_whole_page = "no";
show_hidden_files_in_local_browser = "no";
startup_screen = "playlist";
execute_on_song_change="/home/dobbie/.bin/np";
execute_on_song_change = "/home/dobbie/.bin/np";
connected_message_on_startup = "no";
playlist_separate_albums = "no";
allow_for_physical_item_deletion = "no";

View file

@ -1,5 +1,6 @@
{ config, inputs, lib, pkgs, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.neovim;
username = config.modules.other.system.username;
in {
@ -50,9 +51,7 @@ in {
nixvimInjections = true;
incrementalSelection.enable = true;
};
treesitter-context = {
enable = true;
};
treesitter-context = { enable = true; };
coq-nvim = {
enable = true;
installArtifacts = true;
@ -62,9 +61,7 @@ in {
completion.always = false;
};
};
neo-tree = {
enable = true;
};
neo-tree = { enable = true; };
# TODO laytan/cloak.nvim
lsp = {
enable = true;
@ -121,7 +118,7 @@ in {
rust-tools = {
enable = true;
crateGraph = {
enabledGraphvizBackends = ["png" "svg"];
enabledGraphvizBackends = [ "png" "svg" ];
backend = "x11";
};
inlayHints = {
@ -163,10 +160,7 @@ in {
};
extraPlugins = with pkgs.vimPlugins; [
zen-mode-nvim
lazygit-nvim
];
extraPlugins = with pkgs.vimPlugins; [ zen-mode-nvim lazygit-nvim ];
keymaps = [
{

View file

@ -1,8 +1,6 @@
{
config,
lib,
...
}: with lib; let
{ config, lib, ... }:
with lib;
let
cfg = config.modules.programs.newsboat;
username = config.modules.other.system.username;
in {
@ -53,11 +51,13 @@ in {
}
{
title = "Veronica Explains";
url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCMiyV_Ib77XLpzHPQH_q0qQ";
url =
"https://www.youtube.com/feeds/videos.xml?channel_id=UCMiyV_Ib77XLpzHPQH_q0qQ";
}
{
title = "Mental Outlaw";
url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA";
url =
"https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA";
}
{
title = "Hacker News";

View file

@ -1,11 +1,10 @@
{ config, lib, ... }:
with lib; let
with lib;
let
cfg = config.modules.programs.yazi;
username = config.modules.other.system.username;
in {
options.modules.programs.yazi = {
enable = mkEnableOption "yazi";
};
options.modules.programs.yazi = { enable = mkEnableOption "yazi"; };
config = mkIf cfg.enable {
home-manager.users.${username} = {

View file

@ -1,4 +1,4 @@
_:{
_: {
boot.loader = {
efi.canTouchEfiVariables = true;
grub = {

View file

@ -1,6 +1,5 @@
{ config, lib, pkgs, ... }:
let
username = config.modules.other.system.username;
let username = config.modules.other.system.username;
in {
hardware.bluetooth = {
enable = true;

View file

@ -1,5 +1,4 @@
{ config, lib, pkgs, ...}:
{
{ config, lib, pkgs, ... }: {
services.xserver.videoDrivers = [ "nvidia" ];
hardware.opengl = {
enable = true;

View file

@ -1,8 +1,7 @@
{ config, lib, ... }:
let
username = config.modules.other.system.username;
let username = config.modules.other.system.username;
in {
networking = {
networking = {
networkmanager = {
enable = true;
dns = "systemd-resolved";
@ -10,10 +9,7 @@ networking = {
};
services.resolved = {
enable = true;
fallbackDns = [
"9.9.9.9"
"2620::fe::fe"
];
fallbackDns = [ "9.9.9.9" "2620::fe::fe" ];
};
users.users.${username}.extraGroups = [ "networkmanager" ];
}

View file

@ -1,4 +1,3 @@
{ inputs, lib, ...}:
{
nix.registry = lib.mapAttrs (_: v: {flake = v; }) inputs;
{ inputs, lib, ... }: {
nix.registry = lib.mapAttrs (_: v: { flake = v; }) inputs;
}

View file

@ -1,6 +1 @@
{
self,
...
}: {
environment.etc."current-flake".source = self;
}
{ self, ... }: { environment.etc."current-flake".source = self; }

View file

@ -1,10 +1,7 @@
{ pkgs, ... }:
{
{ pkgs, ... }: {
fonts.packages = with pkgs; [
material-design-icons
(nerdfonts.override {
fonts = [ "JetBrainsMono"];
})
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif

View file

@ -1,13 +1,11 @@
{ config, lib, ... }:
with lib;
{
with lib; {
options.modules.other.system.monitors = mkOption {
description = "
List of monitors to use
";
default = [];
type = with types; types.listOf (submodule {
description = "\n List of monitors to use\n ";
default = [ ];
type = with types;
types.listOf (submodule {
options = {
name = mkOption {
type = types.str;

View file

@ -1,16 +1,17 @@
{ inputs, outputs, ... }:
let
add_nur = self: super: {
add_nur = self: super: {
# nur-no-pkgs = import inputs.nur-no-pkgs { pkgs = inputs.nixpkgs.legacyPackages.${profile-config.system}; nurpkgs = inputs.nixpkgs.legacyPackages.${profile-config.system}; };
nur = import inputs.nur {
pkgs = import inputs.nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; }; # .legacyPackages.${profile-config.system};
nurpkgs = import inputs.nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; }; #.legacyPackages.${profile-config.system};
pkgs = import inputs.nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
}; # .legacyPackages.${profile-config.system};
nurpkgs = import inputs.nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
}; # .legacyPackages.${profile-config.system};
};
};
in
{
nixpkgs.overlays = [
add_nur
];
}
};
in { nixpkgs.overlays = [ add_nur ]; }