This commit is contained in:
Reid 2024-12-08 18:30:51 -08:00
parent 9c92ea27e3
commit 8a2127b3d8
Signed by: reidlab
GPG key ID: DAF5EAF6665839FD
37 changed files with 75 additions and 67 deletions

View file

@ -3,4 +3,6 @@ root = true
[*]
end_of_line = lf
indent_style = space
indent_size = 2
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

View file

@ -11,13 +11,15 @@ for something more server oriented, check out [`nix-server`](https://git.reidlab
## hosts
each host should have these files:
- `default.nix`, contains everything relating to the basic system
- `hardware.nix`, hardware configuration.
## todo
- multi architecture configuration ([nix-systems](https://github.com/nix-systems/nix-systems)?)
- divide steam and gamemode?
- hidpi and cursor size option ? mostly auto these days though
- better theming for hyprlock, rofi, dunst (accent for hyprlock & dunst, variants for rofi)
- libinput
- some way for border radius, border, tranparency theme options
- some way for border radius, border, tranparency theme options

View file

@ -6,7 +6,7 @@ let
inherit (lib.my) mapModulesRec';
in {
imports =
[
[
inputs.home-manager.nixosModules.home-manager
(mkAliasOptionModule ["hm"] ["home-manager" "users" config.user.name])
inputs.nix-colors.homeManagerModules.default
@ -29,14 +29,14 @@ in {
# might not be needed? see: https://github.com/NixOS/nixpkgs/commit/e456032addae76701eb17e6c03fc515fd78ad74f
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
registry.nixpkgs.flake = inputs.nixpkgs;
settings = {
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
keep-outputs = true;
keep-derivations = true;
substituters = [
"https://nix-community.cachix.org"
substituters = [
"https://nix-community.cachix.org"
"https://nixpkgs-wayland.cachix.org"
"https://hyprland.cachix.org"
"https://cache.soopy.moe"
@ -70,7 +70,7 @@ in {
};
time.timeZone = mkDefault "America/Los_Angeles";
i18n.defaultLocale = mkDefault "en_US.UTF-8";
hardware.enableRedistributableFirmware = true;

View file

@ -22,7 +22,7 @@
waybar-catppuccin.flake = false;
hyprland-catppuccin.url = "github:catppuccin/hyprland";
hyprland-catppuccin.flake = false;
catppuccin-vsc.url = "github:catppuccin/vscode";
};
@ -31,7 +31,7 @@
inherit (lib.my) mapModules mapModulesRec mapHosts;
system = "x86_64-linux";
mkPkgs = pkgs: extraOverlays:
mkPkgs = pkgs: extraOverlays:
import pkgs {
inherit system;
config.allowUnfree = true;
@ -48,19 +48,19 @@
});
in {
lib = lib.my;
overlays =
overlays =
(mapModules ./overlays import)
// {
default = final: prev: {
my = self.packages.${system};
};
};
packages."${system}" = mapModules ./packages (p: pkgs.callPackage p {});
nixosModules = mapModulesRec ./modules import;
nixosConfigurations = mapHosts ./hosts {};
};
}

View file

@ -33,7 +33,7 @@
modules = {
security.useDoas = true;
hardware = {
bluetooth.enable = true;
pipewire.enable = true;

View file

@ -2,15 +2,15 @@
{
imports =
[
[
inputs.hardware.nixosModules.common-cpu-intel
inputs.hardware.nixosModules.common-pc-laptop-ssd
inputs.hardware.nixosModules.common-pc-laptop
# this will override your kernel!!!
# use this on macs with t2 chips to get screen, keyboard, trackpad,
# use this on macs with t2 chips to get screen, keyboard, trackpad,
# camera, touchbar, and experimental suspend and audio
inputs.hardware.nixosModules.apple-t2
(modulesPath + "/installer/scan/not-detected.nix")
./apple-macbook-air-9-1.nix

View file

@ -16,5 +16,5 @@
mylib =
makeExtensible (self:
mapModules ./. (file: import file {inherit self lib pkgs inputs;}));
in
in
mylib.extend (self: super: foldr (a: b: a // b) {} (attrValues super))

View file

@ -20,4 +20,4 @@ in {
"${lib.getExe cfg.package} -w 20 -c 10 -d 5 -p -m 2"
];
};
}
}

View file

@ -33,4 +33,4 @@ in {
];
};
};
}
}

View file

@ -17,7 +17,7 @@ in {
width = 300;
height = 145;
frame_color = "#f5c2e7"; # catppuccin pink
origin = "top-right";
vertical_alignment = "center";
ellipsize = "middle";
@ -40,7 +40,7 @@ in {
progress_bar_frame_width = 1;
progress_bar_min_width = 150;
progress_bar_max_width = 300;
alignment = "left";
markup = "full";
format = "<b>%a</b>\\n<b>%s</b>\\n%b";

View file

@ -27,7 +27,7 @@ in {
options.modules.desktop.fonts = {
enable = mkEnableOption "Enable the font configuration module, configuring your chosen fonts";
baseFonts = mkEnableOption "Add an extra set of base fonts";
fonts = {
sansSerif = mkFontOption "sansSerif" {
package = pkgs.my.lexica-ultralegible;
@ -74,7 +74,7 @@ in {
emoji = [ cfg.fonts.emoji.family ];
};
enableGhostscriptFonts = true;
packages = with pkgs; [
packages = with pkgs; [
corefonts
noto-fonts
noto-fonts-cjk-sans
@ -89,7 +89,7 @@ in {
};
hm.gtk.enable = true;
hm.gtk.font = with cfg.fonts.sansSerif; {
hm.gtk.font = with cfg.fonts.sansSerif; {
package = package;
name = family;

View file

@ -18,4 +18,4 @@ in {
provider = "manual";
};
};
}
}

View file

@ -10,7 +10,7 @@ in {
config = mkIf cfg.enable {
user.packages = with pkgs; [ seahorse ];
services.gnome.gnome-keyring.enable = true;
security.pam.services.login.enableGnomeKeyring = true;
};

View file

@ -90,7 +90,7 @@ in {
bindr = [ # "bind released"
"SUPER, Super_L, exec, ${lib.getExe pkgs.nwg-drawer}"
];
bind = let
bind = let
screenshotScript = pkgs.writeScript "screenshot" ''
temp_file=$(mktemp)
trap 'rm -f "$temp_file"' EXIT
@ -200,7 +200,7 @@ in {
monitor=",highrr,auto,auto";
exec-once = [
exec-once = [
"${lib.getExe pkgs.networkmanagerapplet}" # network applet
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" # polkit agent
"${lib.getExe pkgs.wl-clip-persist} --clipboard regular" # to fix wl clipboards disappearing
@ -219,7 +219,7 @@ in {
layout = "dwindle";
resize_on_border = true;
resize_on_border = true;
};
windowrulev2 = [

View file

@ -11,7 +11,7 @@ in {
config = mkIf cfg.enable {
boot.plymouth = {
enable = true;
themePackages = [ config.modules.desktop.themes.plymouthTheme.package ];
theme = config.modules.desktop.themes.plymouthTheme.name;
};
@ -37,4 +37,4 @@ in {
};
};
};
}
}

View file

@ -18,7 +18,7 @@ in {
services.displayManager.sddm = {
enable = true;
package = pkgs.kdePackages.sddm;
wayland.enable = config.modules.desktop.envProto == "wayland";
wayland.enable = config.modules.desktop.envProto == "wayland";
wayland.compositor = "kwin";
theme = config.modules.desktop.themes.sddmTheme.name;
settings = {

View file

@ -20,7 +20,7 @@ in {
if [ ! -f "${lastWallpaper}" ]; then
echo "$(ls ${wallpapersFolder} | shuf -n 1)" > "${lastWallpaper}"
fi
${cfg.package}/bin/swww-daemon &
${lib.getExe cfg.package} img "${wallpapersFolder}/$(cat ${lastWallpaper})" --transition-type none
'';
@ -43,4 +43,4 @@ in {
config = mkIf cfg.enable {
modules.desktop.execOnStart = [ "${cfg.startScript}" ];
};
}
}

View file

@ -30,4 +30,4 @@ button {
button:hover, button:active, box:hover, box:active {
background: alpha(@surface0, 0.5);
}
}

View file

@ -95,4 +95,4 @@ button {
button.selected {
background-color: @bg-col;
text-color: @pink;
}
}

View file

@ -17,7 +17,7 @@ window#waybar {
font-family: "CozetteVector", monospace, "FontAwesome 6 Free", "Noto Sans CJK";
font-size: 13px;
font-style: normal;
border: 1px solid @surface0;
}
@ -158,4 +158,4 @@ tooltip * {
margin: 0px;
color: @text;
font-family: CozetteVector, monospace;
}
}

View file

@ -113,7 +113,7 @@ in {
};
hm.programs.vscode = {
extensions = [
extensions = [
cfg.editor.vscode.colorTheme.extension
cfg.editor.vscode.iconTheme.extension
];

View file

@ -25,7 +25,7 @@ in {
settings = {
"" = {
timeout = 1000;
border_offset = 2;
border_size = 2;
bar_padding = 2;
@ -42,4 +42,4 @@ in {
};
};
};
}
}

View file

@ -15,4 +15,4 @@ in {
nix-direnv.enable = true;
};
};
}
}

View file

@ -33,4 +33,4 @@ with lib;
IOSchedulingClass = "idle";
};
};
}
}

View file

@ -15,7 +15,7 @@ in {
# disable kernel parameter editing on boot
loader.systemd-boot.editor = false;
kernel.sysctl = {
# magic sysrq key, allows low-level commands through keyboard input
"kernel.sysrq" = 0;

View file

@ -25,7 +25,7 @@ in {
# General
"*.direnv"
"*.envrc"
# OS related
".DS_Store?"
".DS_Store"

View file

@ -1,7 +1,7 @@
{ lib, config, pkgs, ... }:
with lib;
let
let
cfg = config.modules.software.distractions.discord;
flags = [
"--flag-switches-begin"
@ -46,4 +46,4 @@ in {
}))
];
};
}
}

View file

@ -36,4 +36,4 @@ in {
user.packages = [ pkgs.protontricks pkgs.steam-run ];
};
}
}

View file

@ -26,11 +26,15 @@ in {
github.copilot
# language specific
astro-build.astro-vscode
# js/ts
dbaeumer.vscode-eslint
astro-build.astro-vscode
# rs
rust-lang.rust-analyzer
# lua
sumneko.lua
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
# general extensions
{
name = "discord-vscode";
publisher = "icrawl";

View file

@ -12,4 +12,4 @@ in {
hm.programs.eza.enable = true;
hm.programs.eza.git = true;
};
}
}

View file

@ -11,13 +11,13 @@ in {
config = mkIf cfg.enable {
# runtime dependencies of plugins
user.packages = with pkgs; [
user.packages = with pkgs; [
# fzf-fish
bat fd fzf
bat fd fzf
# grc
grc
grc
# tide
fishPlugins.tide
fishPlugins.tide
# done
libnotify
];
@ -28,10 +28,10 @@ in {
colorScript = nix-colors-lib.shellThemeFromScheme { scheme = config.colorScheme; };
in {
enable = true;
plugins = with pkgs.fishPlugins; [
{ name = "fzf-fish"; src = fzf-fish.src; }
{ name = "grc"; src = grc.src; }
{ name = "tide"; src = tide.src; }
plugins = with pkgs.fishPlugins; [
{ name = "fzf-fish"; src = fzf-fish.src; }
{ name = "grc"; src = grc.src; }
{ name = "tide"; src = tide.src; }
{ name = "done"; src = done.src; }
{ name = "autopair"; src = autopair.src; }

View file

@ -13,4 +13,4 @@ in {
hm.home.packages = [ pkgs.flatpak ];
fonts.fontDir.enable = true;
};
}
}

View file

@ -22,4 +22,4 @@ in {
};
};
};
}
}

View file

@ -18,4 +18,4 @@ in {
pinentryPackage = pkgs.pinentry-gnome3;
};
};
}
}

View file

@ -23,7 +23,7 @@ in {
mode = "noalbumart";
};
};
scripts = with pkgs.mpvScripts; [
mpris
modernx
@ -32,4 +32,4 @@ in {
];
};
};
}
}

View file

@ -11,4 +11,4 @@ in {
config = mkIf cfg.enable {
programs.noisetorch.enable = true;
};
}
}

View file

@ -16,4 +16,4 @@ in {
settings.pinentry = pkgs.pinentry-gnome3;
};
};
}
}