switch back to nixfmt

This commit is contained in:
Sean Kovacs 2026-01-19 22:27:28 -05:00
commit 62032eab6d
Signed by: sckova
GPG key ID: 00F325187C68651A
37 changed files with 797 additions and 689 deletions

View file

@ -78,7 +78,8 @@
};
};
outputs = {
outputs =
{
nixpkgs,
nixpkgs-unstable,
nix-cachyos-kernel,
@ -97,27 +98,31 @@
catppuccin-btop,
catppuccin-mpv,
...
}: let
}:
let
# All systems we want to support for the generic VM
# to run the vm:
# nixos-rebuild build-vm --flake ~/nix#$(nix eval --raw --impure --expr 'builtins.currentSystem')
supportedSystems = ["x86_64-linux" "aarch64-linux"];
supportedSystems = [
"x86_64-linux"
"aarch64-linux"
];
# Shared config for all package sets
pkgConfig = {
allowUnfree = true;
};
mkNixosSystem = {
mkNixosSystem =
{
hostname,
system,
extraModules ? [],
extraSpecialArgs ? {},
extraModules ? [ ],
extraSpecialArgs ? { },
}:
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs =
{
specialArgs = {
inherit catppuccin system;
pkgs-unstable = import nixpkgs-unstable {
inherit system;
@ -125,8 +130,7 @@
};
}
// extraSpecialArgs;
modules =
[
modules = [
{
nixpkgs = {
config = pkgConfig;
@ -170,7 +174,7 @@
# Increase file descriptor limit for builds
sandbox = "relaxed";
extra-sandbox-paths = [];
extra-sandbox-paths = [ ];
build-users-group = "nixbld";
};
@ -243,7 +247,8 @@
++ extraModules;
};
mkHomeConfig = {
mkHomeConfig =
{
user,
hostname,
system,
@ -270,14 +275,15 @@
nixvim.homeModules.nixvim
];
};
in {
in
{
nixosConfigurations = {
peach = mkNixosSystem {
hostname = "peach";
system = "aarch64-linux";
extraModules = [
apple-silicon.nixosModules.default
{nixpkgs.overlays = [apple-silicon.overlays.apple-silicon-overlay];}
{ nixpkgs.overlays = [ apple-silicon.overlays.apple-silicon-overlay ]; }
];
};
@ -286,7 +292,7 @@
hostname = "alien";
system = "x86_64-linux";
extraModules = [
{nixpkgs.overlays = [nix-cachyos-kernel.overlays.default];}
{ nixpkgs.overlays = [ nix-cachyos-kernel.overlays.default ]; }
];
}
// nixpkgs.lib.genAttrs supportedSystems (
@ -298,8 +304,7 @@
);
};
homeConfigurations =
{
homeConfigurations = {
peach = mkHomeConfig {
user = "sckova";
hostname = "peach";

View file

@ -7,7 +7,8 @@
pkgs,
modulesPath,
...
}: {
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
@ -23,7 +24,7 @@
fileSystems."/" = {
device = "/dev/disk/by-uuid/d83ec136-df01-4b9e-a523-6d75726fb904";
fsType = "btrfs";
options = ["subvol=@"];
options = [ "subvol=@" ];
};
fileSystems."/nix" = {
@ -46,7 +47,7 @@
};
swapDevices = [
{device = "/dev/disk/by-uuid/056af100-9382-4cbd-b3d5-90df7da69585";}
{ device = "/dev/disk/by-uuid/056af100-9382-4cbd-b3d5-90df7da69585"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View file

@ -5,12 +5,13 @@
lib,
modulesPath,
...
}: {
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = ["sdhci_pci"];
boot.initrd.availableKernelModules = [ "sdhci_pci" ];
fileSystems."/" = {
device = "/dev/disk/by-label/NixOS";
@ -26,7 +27,7 @@
];
};
swapDevices = [];
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
}

View file

@ -5,10 +5,16 @@
lib,
system,
...
}: {
imports = [];
}:
{
imports = [ ];
boot.initrd.availableKernelModules = ["ehci_pci" "xhci_pci" "usbhid" "sr_mod"];
boot.initrd.availableKernelModules = [
"ehci_pci"
"xhci_pci"
"usbhid"
"sr_mod"
];
fileSystems."/" = {
device = "/dev/disk/by-label/nixos";
@ -18,11 +24,14 @@
fileSystems."/boot" = {
device = "/dev/disk/by-label/boot";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [
{device = "/dev/disk/by-label/swap";}
{ device = "/dev/disk/by-label/swap"; }
];
# Set platform from the system argument passed by the flake
@ -30,7 +39,7 @@
# Enable Parallels tools only on aarch64
hardware.parallels.enable = lib.mkIf (system == "aarch64-linux") true;
nixpkgs.config.allowUnfreePredicate =
lib.mkIf (system == "aarch64-linux")
(pkg: builtins.elem (lib.getName pkg) ["prl-tools"]);
nixpkgs.config.allowUnfreePredicate = lib.mkIf (system == "aarch64-linux") (
pkg: builtins.elem (lib.getName pkg) [ "prl-tools" ]
);
}

View file

@ -2,10 +2,11 @@
config,
pkgs,
...
}: let
}:
let
catppuccin-discord = "${pkgs.catppuccin-discord}/share/catppuccin-discord/catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}.theme.css";
mergedThemes = pkgs.runCommand "mergedConfig" {} ''
mergedThemes = pkgs.runCommand "mergedConfig" { } ''
mkdir -p $out
cp ${catppuccin-discord} $out/catppuccin.css
'';
@ -32,8 +33,9 @@
height = 1071;
};
};
in {
home.packages = with pkgs; [vesktop];
in
{
home.packages = with pkgs; [ vesktop ];
home.file.".config/vesktop/settings.json" = {
text = builtins.toJSON vesktopSettings;

View file

@ -4,17 +4,20 @@
pkgs,
config,
...
}: {
}:
{
home.file.".librewolf/default/chrome/" = {
source = ./librewolf_css;
force = true;
recursive = true;
};
home.file.".librewolf/default/chrome/colors.css" = let
home.file.".librewolf/default/chrome/colors.css" =
let
color = pkgs.catppuccin.rgb.${config.catppuccin.flavor};
accent = color.${config.catppuccin.accent};
in {
in
{
text = ''
* {
--accent: ${accent};
@ -256,10 +259,12 @@
}
];
};
search = let
search =
let
nixIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/nix-snowflake.svg";
googleIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/google.svg";
in {
in
{
force = true;
default = "google";
order = [
@ -285,27 +290,27 @@
];
icon = nixIcon;
definedAliases = ["@np"];
definedAliases = [ "@np" ];
};
nixos-wiki = {
name = "NixOS Wiki";
urls = [{template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";}];
urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
icon = nixIcon;
definedAliases = ["@nw"];
definedAliases = [ "@nw" ];
};
google = {
name = "Google";
urls = [{template = "https://google.com/search?q={searchTerms}";}];
urls = [ { template = "https://google.com/search?q={searchTerms}"; } ];
icon = googleIcon;
definedAliases = ["@go"];
definedAliases = [ "@go" ];
};
wikipedia = {
name = "Wikipedia";
urls = [{template = "https://en.wikipedia.org/w/index.php?search={searchTerms}";}];
definedAliases = ["@wi"];
urls = [ { template = "https://en.wikipedia.org/w/index.php?search={searchTerms}"; } ];
definedAliases = [ "@wi" ];
};
};
};

View file

@ -2,14 +2,16 @@
config,
pkgs,
...
}: let
mergedConfig = pkgs.runCommand "mergedConfig" {} ''
}:
let
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
mkdir -p $out
${pkgs.gnused}/bin/sed 's/${pkgs.catppuccin.${config.catppuccin.flavor}.base}/#000000/g' \
${pkgs.catppuccin-mpv-git}/themes/${config.catppuccin.flavor}/${config.catppuccin.accent}.conf \
> $out/mpv.conf
'';
in {
in
{
home.packages = with pkgs; [
(mpv.override {
scripts = with mpvScripts; [

View file

@ -2,9 +2,9 @@
autoUpdate = true;
autoUpdateNotification = true;
useQuickCss = true;
themeLinks = [];
themeLinks = [ ];
eagerPatches = false;
enabledThemes = ["catppuccin.css"];
enabledThemes = [ "catppuccin.css" ];
enableReactDevtools = false;
frameless = false;
transparent = true;
@ -330,8 +330,8 @@
ImageFilename.enabled = false;
};
uiElements = {
chatBarButtons = {};
messagePopoverButtons = {};
chatBarButtons = { };
messagePopoverButtons = { };
};
notifications = {
timeout = 5000;

View file

@ -3,10 +3,13 @@
pkgs,
lib,
...
}: let
capitalize = str:
}:
let
capitalize =
str:
(lib.toUpper (builtins.substring 0 1 str)) + (builtins.substring 1 (builtins.stringLength str) str);
in {
in
{
# home.sessionVariables = {
# EDITOR = "code";
# };

View file

@ -4,7 +4,8 @@
pkgs-unstable,
lib,
...
}: {
}:
{
options = {
catppuccinUpper = {
accent = lib.mkOption {
@ -106,9 +107,11 @@
default = pkgs.noto-fonts-color-emoji;
};
};
cursor = let
cursor =
let
attrName = config.catppuccin.flavor + config.catppuccinUpper.accent;
in {
in
{
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
@ -190,8 +193,8 @@
# enableWideVine = true;
# })
(catppuccin-kde.override {
flavour = [config.catppuccin.flavor];
accents = [config.catppuccin.accent];
flavour = [ config.catppuccin.flavor ];
accents = [ config.catppuccin.accent ];
})
])
++ [

View file

@ -2,7 +2,8 @@
config,
pkgs,
...
}: {
}:
{
home.packages = with pkgs; [
(prismlauncher.override {
jdks = [

View file

@ -2,6 +2,7 @@
config,
pkgs,
...
}: {
home.packages = with pkgs; [openmw];
}:
{
home.packages = with pkgs; [ openmw ];
}

View file

@ -4,7 +4,8 @@
pkgs-unstable,
spicetify-nix,
...
}: {
}:
{
catppuccin = {
accent = "blue";
flavor = "mocha";
@ -18,9 +19,11 @@
pkgs.daggerfall-unity
];
programs.spicetify = let
programs.spicetify =
let
spicePkgs = spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in {
in
{
enable = true;
enabledExtensions = with spicePkgs.extensions; [

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
catppuccin = {
accent = "lavender";
flavor = "macchiato";
@ -34,7 +35,7 @@
shortcuts = {
# this is really annoying on apple laptops
org_kde_powerdevil.Sleep = [];
org_kde_powerdevil.Sleep = [ ];
};
panels = [
@ -50,7 +51,7 @@
activeTaskSource = "activeTask";
};
layout = {
elements = ["windowTitle"];
elements = [ "windowTitle" ];
horizontalAlignment = "right";
showDisabledElements = "deactivated";
verticalAlignment = "center";

View file

@ -2,13 +2,14 @@
config,
pkgs,
...
}: {
}:
{
catppuccin = {
accent = "green";
flavor = "mocha";
};
home.packages = with pkgs; [];
home.packages = with pkgs; [ ];
programs.plasma = {
panels = [
@ -24,7 +25,7 @@
activeTaskSource = "activeTask";
};
layout = {
elements = ["windowTitle"];
elements = [ "windowTitle" ];
horizontalAlignment = "right";
showDisabledElements = "deactivated";
verticalAlignment = "center";

View file

@ -2,7 +2,8 @@
config,
pkgs,
...
}: {
}:
{
programs.ghostwriter = {
enable = true;
font = {
@ -52,7 +53,7 @@
value = "";
type = "substring";
};
window-types = ["normal"];
window-types = [ "normal" ];
};
apply = {
opacityactive = {
@ -72,7 +73,7 @@
value = "openmw";
type = "substring";
};
window-types = ["normal"];
window-types = [ "normal" ];
};
apply = {
noborder = {
@ -100,7 +101,7 @@
value = "Minecraft*";
type = "substring";
};
window-types = ["normal"];
window-types = [ "normal" ];
};
apply = {
noborder = {
@ -151,7 +152,7 @@
value = "steamwebhelper";
type = "substring";
};
window-types = ["normal"];
window-types = [ "normal" ];
};
apply = {
desktopfile = {

View file

@ -2,7 +2,8 @@
config,
pkgs,
...
}: {
}:
{
imports = [
./gtk.nix
./qt.nix
@ -35,10 +36,7 @@
gtk = {
enable = true;
colorScheme =
if config.userOptions.isDark
then "dark"
else "light";
colorScheme = if config.userOptions.isDark then "dark" else "light";
# theme = {
# package = pkgs.kdePackages.breeze-gtk;
@ -49,10 +47,7 @@
# };
iconTheme = {
name =
if config.userOptions.isDark
then "Colloid-Dark"
else "Colloid-Light";
name = if config.userOptions.isDark then "Colloid-Dark" else "Colloid-Light";
package = pkgs.colloid-icon-theme;
};

View file

@ -3,13 +3,18 @@
pkgs,
lib,
...
}: let
}:
let
colors = pkgs.catppuccin.hex.${config.catppuccin.flavor};
mkColorSection = name: value: "@define-color ${name} ${value};";
generateCSS = ''
/* Catppuccin ${lib.toUpper (builtins.substring 0 1 config.catppuccin.flavor)}${builtins.substring 1 (-1) config.catppuccin.flavor} ${lib.toUpper (builtins.substring 0 1 config.catppuccin.accent)}${builtins.substring 1 (-1) config.catppuccin.accent} Palette */
/* Catppuccin ${lib.toUpper (builtins.substring 0 1 config.catppuccin.flavor)}${
builtins.substring 1 (-1) config.catppuccin.flavor
} ${lib.toUpper (builtins.substring 0 1 config.catppuccin.accent)}${
builtins.substring 1 (-1) config.catppuccin.accent
} Palette */
/* Base colors */
${mkColorSection "window_bg_color" colors.base}
@ -116,7 +121,8 @@
${mkColorSection "accent_bg_color" colors.${config.catppuccin.accent}}
@define-color accent_fg_color @window_bg_color;
'';
in {
in
{
home.file = {
".config/gtk-4.0/gtk.css" = {
text = generateCSS;

View file

@ -2,7 +2,8 @@
config,
pkgs,
...
}: {
}:
{
qt = {
enable = true;
@ -32,11 +33,13 @@
general = "\"${config.userOptions.fontSans.name},${toString config.userOptions.fontSans.size}\"";
};
ColorScheme = let
ColorScheme =
let
c = pkgs.catppuccin.bare.${config.catppuccin.flavor};
accent = c.${config.catppuccin.accent};
mkColors = roles: builtins.concatStringsSep ", " (map (r: "#ff${r}") roles);
in {
in
{
active_colors = mkColors [
c.text
c.surface0

View file

@ -3,7 +3,8 @@
pkgs,
lib,
...
}: {
}:
{
systemd.user.sessionVariables = {
XCURSOR_THEME = config.userOptions.cursor.name;
XCURSOR_SIZE = toString config.userOptions.cursor.size;
@ -25,8 +26,8 @@
systemd.user.services.synology-mount = {
Unit = {
Description = "Mount Synology NAS with Rclone and Home Manager.";
After = ["tailscaled.service"];
Wants = ["tailscaled.service"];
After = [ "tailscaled.service" ];
Wants = [ "tailscaled.service" ];
};
Service = {
@ -61,7 +62,7 @@
};
Install = {
WantedBy = ["default.target"];
WantedBy = [ "default.target" ];
};
};

View file

@ -2,15 +2,17 @@
config,
pkgs,
...
}: let
mergedConfig = pkgs.runCommand "mergedConfig" {} ''
}:
let
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
mkdir -p $out/themes
${pkgs.gnused}/bin/sed 's/blankFlavor/${config.catppuccin.flavor}/g' \
${./btop.conf} > $out/btop.conf
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_latte.theme $out/themes/
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_${config.catppuccin.flavor}.theme $out/themes/nixos.theme
'';
in {
in
{
home.file.".config/btop" = {
source = mergedConfig;
recursive = true;

View file

@ -3,7 +3,8 @@
pkgs,
lib,
...
}: {
}:
{
home.packages = with pkgs; [
kdePackages.qttools
eza
@ -44,14 +45,15 @@
programs.man.generateCaches = false;
home.file.".config/fish/colors.fish" = {
text = let
text =
let
flavor = config.catppuccin.flavor;
palette = pkgs.catppuccin.bare.${flavor};
accent = config.catppuccin.accent;
in
lib.concatStringsSep "\n" (
(lib.mapAttrsToList (name: value: "set -g color_${name} ${value}") palette)
++ ["set -g color_accent ${palette.${accent}}"]
++ [ "set -g color_accent ${palette.${accent}}" ]
);
force = true;
};

View file

@ -2,7 +2,8 @@
config,
pkgs,
...
}: let
}:
let
colors = pkgs.catppuccin.hex.${config.catppuccin.flavor};
accent = colors.${config.catppuccin.accent};
@ -87,7 +88,8 @@
text = kitty-colors;
destination = "/kitty-colors.conf";
};
in {
in
{
home.file.".config/kitty/themes" = {
source = kitty-colors-file;
recursive = true;
@ -109,7 +111,7 @@ in {
};
shellIntegration.enableFishIntegration = true;
keybindings = {
"ctrl+k" = ''combine : clear_terminal scroll active : clear_terminal scrollback active'';
"ctrl+k" = "combine : clear_terminal scroll active : clear_terminal scrollback active";
};
settings = {
include = "/home/${config.userOptions.username}/.config/kitty/themes/kitty-colors.conf";

View file

@ -2,7 +2,8 @@
pkgs,
config,
...
}: {
}:
{
home.sessionVariables = {
EDITOR = "nvim";
};
@ -11,7 +12,7 @@
kdePackages.qtdeclarative
prettier
prettierd
alejandra
nixfmt
stylua
black
clang-tools
@ -106,18 +107,18 @@
];
};
sources = [
{name = "git";}
{name = "nvim_lsp";}
{name = "path";}
{name = "buffer";}
{name = "fish";}
{name = "emoji";}
{ name = "git"; }
{ name = "nvim_lsp"; }
{ name = "path"; }
{ name = "buffer"; }
{ name = "fish"; }
{ name = "emoji"; }
{
name = "buffer"; # text within current buffer
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
keywordLength = 3;
}
{name = "copilot";}
{ name = "copilot"; }
{
name = "path"; # file system paths
keywordLength = 3;
@ -133,16 +134,16 @@
enable = true;
settings = {
formatters_by_ft = {
lua = ["stylua"];
python = ["black"];
nix = ["alejandra"];
javascript = ["prettier"];
css = ["prettier"];
json = ["prettier"];
jsonc = ["prettier"];
fish = ["fish_indent"];
c = ["clang-format"];
cpp = ["clang-format"];
lua = [ "stylua" ];
python = [ "black" ];
nix = [ "nixfmt" ];
javascript = [ "prettier" ];
css = [ "prettier" ];
json = [ "prettier" ];
jsonc = [ "prettier" ];
fish = [ "fish_indent" ];
c = [ "clang-format" ];
cpp = [ "clang-format" ];
};
# Default formatting options
@ -185,9 +186,11 @@
nixd.enable = true;
};
};
lualine = let
lualine =
let
palette = pkgs.catppuccin.${config.catppuccin.flavor};
in {
in
{
enable = true;
settings = {
options = {
@ -258,8 +261,8 @@
"filename"
"branch"
];
lualine_c = ["%="];
lualine_x = [];
lualine_c = [ "%=" ];
lualine_x = [ ];
lualine_y = [
"filetype"
"progress"
@ -276,15 +279,15 @@
};
inactive_sections = {
lualine_a = ["filename"];
lualine_b = [];
lualine_c = [];
lualine_x = [];
lualine_y = [];
lualine_z = ["location"];
lualine_a = [ "filename" ];
lualine_b = [ ];
lualine_c = [ ];
lualine_x = [ ];
lualine_y = [ ];
lualine_z = [ "location" ];
};
tabline = {};
extensions = [];
tabline = { };
extensions = [ ];
};
};
};

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
imports = [
./niri.nix
./noctalia.nix

View file

@ -2,7 +2,8 @@
config,
pkgs,
...
}: {
}:
{
# https://github.com/sodiboo/niri-flake/blob/main/docs.md
programs.niri = {
# handle package systemwide
@ -13,7 +14,7 @@
hotkey-overlay.skip-at-startup = true;
prefer-no-csd = true;
gestures.hot-corners.enable = false;
spawn-at-startup = []; # systemd is based sorry
spawn-at-startup = [ ]; # systemd is based sorry
overview = {
backdrop-color = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
workspace-shadow.enable = false;
@ -88,14 +89,15 @@
theme = config.userOptions.cursor.name;
};
layout = {
gaps = 2;
gaps = 4;
background-color = pkgs.catppuccin.${config.catppuccin.flavor}.mantle;
default-column-width = {
proportion = 0.5;
};
preset-column-widths = [
{proportion = 1.0 / 3.0;}
{proportion = 2.0 / 3.0;}
{ proportion = 4.0 / 12.0; }
{ proportion = 6.0 / 12.0; }
{ proportion = 8.0 / 12.0; }
];
border = {
enable = true;
@ -137,10 +139,10 @@
}
{
geometry-corner-radius = {
top-left = 0.0;
top-right = 0.0;
bottom-left = 0.0;
bottom-right = 0.0;
top-left = 16.0;
top-right = 16.0;
bottom-left = 16.0;
bottom-right = 16.0;
};
clip-to-geometry = true;
}
@ -160,10 +162,10 @@
}
];
binds = {
"Mod+Shift+Slash".action.show-hotkey-overlay = {};
"Mod+Shift+Slash".action.show-hotkey-overlay = { };
"Mod+T" = {
action.spawn = ["kitty"];
action.spawn = [ "kitty" ];
hotkey-overlay.title = "Open a Terminal: kitty";
};
"Mod+Space" = {
@ -217,145 +219,187 @@
};
"XF86MonBrightnessUp" = {
action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
action.spawn = [
"noctalia-shell"
"ipc"
"call"
"brightness"
"increase"
];
allow-when-locked = true;
};
"XF86MonBrightnessDown" = {
action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
action.spawn = [
"noctalia-shell"
"ipc"
"call"
"brightness"
"decrease"
];
allow-when-locked = true;
};
"Shift+XF86MonBrightnessUp" = {
action.spawn = ["brightnessctl" "--class=backlight" "set" "+1%"];
action.spawn = [
"brightnessctl"
"--class=backlight"
"set"
"+1%"
];
allow-when-locked = true;
};
"Shift+XF86MonBrightnessDown" = {
action.spawn = ["brightnessctl" "--class=backlight" "set" "1%-"];
action.spawn = [
"brightnessctl"
"--class=backlight"
"set"
"1%-"
];
allow-when-locked = true;
};
"XF86AudioPrev" = {
action.spawn = ["playerctl" "previous"];
action.spawn = [
"playerctl"
"previous"
];
allow-when-locked = true;
};
"XF86AudioPlay" = {
action.spawn = ["playerctl" "play-pause"];
action.spawn = [
"playerctl"
"play-pause"
];
allow-when-locked = true;
};
"XF86AudioNext" = {
action.spawn = ["playerctl" "next"];
action.spawn = [
"playerctl"
"next"
];
allow-when-locked = true;
};
"XF86Sleep" = {
action.power-off-monitors = {};
action.power-off-monitors = { };
};
"XF86Search" = {
action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"];
action.spawn = [
"noctalia-shell"
"ipc"
"call"
"launcher"
"toggle"
];
allow-when-locked = true;
};
"XF86LaunchA" = {
action.spawn = ["niri" "msg" "action" "toggle-overview"];
action.spawn = [
"niri"
"msg"
"action"
"toggle-overview"
];
allow-when-locked = true;
};
"Mod+O" = {
action.toggle-overview = {};
action.toggle-overview = { };
repeat = false;
};
"Mod+Q" = {
action.close-window = {};
action.close-window = { };
repeat = false;
};
"Mod+Left".action.focus-column-left = {};
"Mod+Down".action.focus-window-down = {};
"Mod+Up".action.focus-window-up = {};
"Mod+Right".action.focus-column-right = {};
"Mod+H".action.focus-column-left = {};
"Mod+J".action.focus-window-down = {};
"Mod+K".action.focus-window-up = {};
"Mod+L".action.focus-column-right = {};
"Mod+Left".action.focus-column-left = { };
"Mod+Down".action.focus-window-down = { };
"Mod+Up".action.focus-window-up = { };
"Mod+Right".action.focus-column-right = { };
"Mod+H".action.focus-column-left = { };
"Mod+J".action.focus-window-down = { };
"Mod+K".action.focus-window-up = { };
"Mod+L".action.focus-column-right = { };
"Mod+Ctrl+Left".action.move-column-left = {};
"Mod+Ctrl+Down".action.move-window-down = {};
"Mod+Ctrl+Up".action.move-window-up = {};
"Mod+Ctrl+Right".action.move-column-right = {};
"Mod+Ctrl+H".action.move-column-left = {};
"Mod+Ctrl+J".action.move-window-down = {};
"Mod+Ctrl+K".action.move-window-up = {};
"Mod+Ctrl+L".action.move-column-right = {};
"Mod+Ctrl+Left".action.move-column-left = { };
"Mod+Ctrl+Down".action.move-window-down = { };
"Mod+Ctrl+Up".action.move-window-up = { };
"Mod+Ctrl+Right".action.move-column-right = { };
"Mod+Ctrl+H".action.move-column-left = { };
"Mod+Ctrl+J".action.move-window-down = { };
"Mod+Ctrl+K".action.move-window-up = { };
"Mod+Ctrl+L".action.move-column-right = { };
"Mod+Home".action.focus-column-first = {};
"Mod+End".action.focus-column-last = {};
"Mod+Ctrl+Home".action.move-column-to-first = {};
"Mod+Ctrl+End".action.move-column-to-last = {};
"Mod+Home".action.focus-column-first = { };
"Mod+End".action.focus-column-last = { };
"Mod+Ctrl+Home".action.move-column-to-first = { };
"Mod+Ctrl+End".action.move-column-to-last = { };
"Mod+Shift+Left".action.focus-monitor-left = {};
"Mod+Shift+Down".action.focus-monitor-down = {};
"Mod+Shift+Up".action.focus-monitor-up = {};
"Mod+Shift+Right".action.focus-monitor-right = {};
"Mod+Shift+H".action.focus-monitor-left = {};
"Mod+Shift+J".action.focus-monitor-down = {};
"Mod+Shift+K".action.focus-monitor-up = {};
"Mod+Shift+L".action.focus-monitor-right = {};
"Mod+Shift+Left".action.focus-monitor-left = { };
"Mod+Shift+Down".action.focus-monitor-down = { };
"Mod+Shift+Up".action.focus-monitor-up = { };
"Mod+Shift+Right".action.focus-monitor-right = { };
"Mod+Shift+H".action.focus-monitor-left = { };
"Mod+Shift+J".action.focus-monitor-down = { };
"Mod+Shift+K".action.focus-monitor-up = { };
"Mod+Shift+L".action.focus-monitor-right = { };
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = {};
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = {};
"Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = {};
"Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = {};
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = {};
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = {};
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = {};
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = {};
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = { };
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = { };
"Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = { };
"Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = { };
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = { };
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = { };
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = { };
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = { };
"Mod+Page_Down".action.focus-workspace-down = {};
"Mod+Page_Up".action.focus-workspace-up = {};
"Mod+U".action.focus-workspace-down = {};
"Mod+I".action.focus-workspace-up = {};
"Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = {};
"Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = {};
"Mod+Ctrl+U".action.move-column-to-workspace-down = {};
"Mod+Ctrl+I".action.move-column-to-workspace-up = {};
"Mod+Page_Down".action.focus-workspace-down = { };
"Mod+Page_Up".action.focus-workspace-up = { };
"Mod+U".action.focus-workspace-down = { };
"Mod+I".action.focus-workspace-up = { };
"Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = { };
"Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = { };
"Mod+Ctrl+U".action.move-column-to-workspace-down = { };
"Mod+Ctrl+I".action.move-column-to-workspace-up = { };
"Mod+Shift+Page_Down".action.move-workspace-down = {};
"Mod+Shift+Page_Up".action.move-workspace-up = {};
"Mod+Shift+U".action.move-workspace-down = {};
"Mod+Shift+I".action.move-workspace-up = {};
"Mod+Shift+Page_Down".action.move-workspace-down = { };
"Mod+Shift+Page_Up".action.move-workspace-up = { };
"Mod+Shift+U".action.move-workspace-down = { };
"Mod+Shift+I".action.move-workspace-up = { };
"Mod+WheelScrollDown" = {
action.focus-workspace-down = {};
action.focus-workspace-down = { };
cooldown-ms = 150;
};
"Mod+WheelScrollUp" = {
action.focus-workspace-up = {};
action.focus-workspace-up = { };
cooldown-ms = 150;
};
"Mod+Ctrl+WheelScrollDown" = {
action.move-column-to-workspace-down = {};
action.move-column-to-workspace-down = { };
cooldown-ms = 150;
};
"Mod+Ctrl+WheelScrollUp" = {
action.move-column-to-workspace-up = {};
action.move-column-to-workspace-up = { };
cooldown-ms = 150;
};
"Mod+WheelScrollRight".action.focus-column-right = {};
"Mod+WheelScrollLeft".action.focus-column-left = {};
"Mod+Ctrl+WheelScrollRight".action.move-column-right = {};
"Mod+Ctrl+WheelScrollLeft".action.move-column-left = {};
"Mod+WheelScrollRight".action.focus-column-right = { };
"Mod+WheelScrollLeft".action.focus-column-left = { };
"Mod+Ctrl+WheelScrollRight".action.move-column-right = { };
"Mod+Ctrl+WheelScrollLeft".action.move-column-left = { };
"Mod+Shift+WheelScrollDown".action.focus-column-right = {};
"Mod+Shift+WheelScrollUp".action.focus-column-left = {};
"Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = {};
"Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = {};
"Mod+Shift+WheelScrollDown".action.focus-column-right = { };
"Mod+Shift+WheelScrollUp".action.focus-column-left = { };
"Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = { };
"Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = { };
"Mod+1".action.focus-workspace = 1;
"Mod+2".action.focus-workspace = 2;
@ -376,22 +420,22 @@
"Mod+Ctrl+8".action.move-column-to-workspace = 8;
"Mod+Ctrl+9".action.move-column-to-workspace = 9;
"Mod+BracketLeft".action.consume-or-expel-window-left = {};
"Mod+BracketRight".action.consume-or-expel-window-right = {};
"Mod+BracketLeft".action.consume-or-expel-window-left = { };
"Mod+BracketRight".action.consume-or-expel-window-right = { };
"Mod+Comma".action.consume-window-into-column = {};
"Mod+Period".action.expel-window-from-column = {};
"Mod+Comma".action.consume-window-into-column = { };
"Mod+Period".action.expel-window-from-column = { };
"Mod+R".action.switch-preset-column-width = {};
"Mod+Shift+R".action.switch-preset-window-height = {};
"Mod+Ctrl+R".action.reset-window-height = {};
"Mod+F".action.maximize-column = {};
"Mod+Shift+F".action.maximize-window-to-edges = {};
"Mod+Ctrl+Shift+F".action.fullscreen-window = {};
"Mod+R".action.switch-preset-column-width = { };
"Mod+Shift+R".action.switch-preset-window-height = { };
"Mod+Ctrl+R".action.reset-window-height = { };
"Mod+F".action.maximize-column = { };
"Mod+Shift+F".action.maximize-window-to-edges = { };
"Mod+Ctrl+Shift+F".action.fullscreen-window = { };
"Mod+C".action.center-column = {};
"Mod+C".action.center-column = { };
"Mod+Ctrl+C".action.center-visible-columns = {};
"Mod+Ctrl+C".action.center-visible-columns = { };
"Mod+Minus".action.set-column-width = "-10%";
"Mod+Equal".action.set-column-width = "+10%";
@ -399,26 +443,26 @@
"Mod+Shift+Minus".action.set-window-height = "-10%";
"Mod+Shift+Equal".action.set-window-height = "+10%";
"Mod+V".action.toggle-window-floating = {};
"Mod+Shift+V".action.switch-focus-between-floating-and-tiling = {};
"Mod+V".action.toggle-window-floating = { };
"Mod+Shift+V".action.switch-focus-between-floating-and-tiling = { };
"Mod+W".action.toggle-column-tabbed-display = {};
"Mod+W".action.toggle-column-tabbed-display = { };
"Print".action.screenshot = {};
"Mod+Shift+S".action.screenshot = {};
"Ctrl+Print".action.screenshot-screen = {};
"Alt+Print".action.screenshot-window = {};
"Print".action.screenshot = { };
"Mod+Shift+S".action.screenshot = { };
"Ctrl+Print".action.screenshot-screen = { };
"Alt+Print".action.screenshot-window = { };
"Mod+Escape" = {
action.toggle-keyboard-shortcuts-inhibit = {};
action.toggle-keyboard-shortcuts-inhibit = { };
allow-inhibiting = false;
};
"Mod+Shift+E".action.quit = {};
"Ctrl+Alt+Delete".action.quit = {};
"Mod+Shift+E".action.quit = { };
"Ctrl+Alt+Delete".action.quit = { };
"Mod+Shift+P" = {
action.power-off-monitors = {};
action.power-off-monitors = { };
hotkey-overlay.title = "Turn off the display";
};
};

View file

@ -2,7 +2,8 @@
pkgs,
config,
...
}: {
}:
{
programs.noctalia-shell = {
enable = true;
colors = {
@ -33,7 +34,7 @@
bar = {
position = "top";
backgroundOpacity = 1;
monitors = [];
monitors = [ ];
density = "spacious";
showCapsule = true;
capsuleOpacity = 1;
@ -198,7 +199,7 @@
enabled = false;
overviewEnabled = false;
directory = "/home/sckova/.local/share/wallpaper";
monitorDirectories = [];
monitorDirectories = [ ];
enableMultiMonitorDirectories = false;
recursiveSearch = false;
setWallpaperOnAllMonitors = true;
@ -217,7 +218,7 @@
enableClipboardHistory = true;
enableClipPreview = true;
position = "top_left";
pinnedExecs = [];
pinnedExecs = [ ];
useApp2Unit = false;
sortByMostUsed = true;
terminalCommand = "kitty -e";
@ -302,8 +303,8 @@
floatingRatio = 1;
size = 1;
onlySameOutput = true;
monitors = [];
pinnedApps = [];
monitors = [ ];
pinnedApps = [ ];
colorizeIcons = false;
pinnedStatic = false;
inactiveIndicators = false;
@ -346,7 +347,7 @@
};
notifications = {
enabled = true;
monitors = [];
monitors = [ ];
location = "top_right";
overlayLayer = true;
backgroundOpacity = 1;
@ -372,7 +373,7 @@
1
2
];
monitors = [];
monitors = [ ];
};
audio = {
volumeStep = 5;
@ -380,7 +381,7 @@
cavaFrameRate = 30;
visualizerType = "linear";
visualizerQuality = "high";
mprisBlacklist = [];
mprisBlacklist = [ ];
preferredPlayer = "";
externalMixer = "pwvucontrol || pavucontrol";
};
@ -435,8 +436,8 @@
systemd.user.services.noctalia-shell = {
Unit = {
After = ["niri.service"];
PartOf = ["niri.service"];
After = [ "niri.service" ];
PartOf = [ "niri.service" ];
Description = "Noctalia Shell - Wayland desktop shell";
Documentation = "https://docs.noctalia.dev/docs";
};
@ -454,7 +455,7 @@
};
Install = {
WantedBy = ["niri.service"];
WantedBy = [ "niri.service" ];
};
};
}

View file

@ -2,7 +2,8 @@
pkgs,
config,
...
}: let
}:
let
script = pkgs.writeShellScript "bing-wallpaper" ''
set -euo pipefail
@ -62,7 +63,8 @@
echo "Wallpaper downloaded and applied successfully."
'';
in {
in
{
home.packages = with pkgs; [
wpaperd
];
@ -81,9 +83,9 @@ in {
systemd.user.services.wpaperd = {
Unit = {
Description = "Modern wallpaper daemon for Wayland";
PartOf = ["niri.service"];
Requires = ["niri.service"];
After = ["niri.service"];
PartOf = [ "niri.service" ];
Requires = [ "niri.service" ];
After = [ "niri.service" ];
};
Service = {
ExecStart = "${pkgs.wpaperd}/bin/wpaperd";
@ -128,7 +130,7 @@ in {
Persistent = true;
};
Install = {
WantedBy = ["timers.target"];
WantedBy = [ "timers.target" ];
};
};
}

View file

@ -1,5 +1,5 @@
final: prev: {
spotify-webapp = final.callPackage ./spotify-webapp {};
spotify-webapp = final.callPackage ./spotify-webapp { };
catppuccin-discord = final.callPackage ./catppuccin-discord {
inherit (final) catppuccin-discord-git;

View file

@ -5,7 +5,8 @@
copyDesktopItems,
chromium,
writeShellScriptBin,
}: let
}:
let
pname = "spotify-webapp";
version = "1.0.0";
@ -24,13 +25,13 @@
"$@"
'';
in
stdenv.mkDerivation {
stdenv.mkDerivation {
inherit pname version;
dontUnpack = true;
dontBuild = true;
nativeBuildInputs = [copyDesktopItems];
nativeBuildInputs = [ copyDesktopItems ];
desktopItems = [
(makeDesktopItem {
@ -45,7 +46,7 @@ in
"Music"
"AudioVideo"
];
mimeTypes = ["x-scheme-handler/spotify"];
mimeTypes = [ "x-scheme-handler/spotify" ];
startupWMClass = "spotify-webapp";
startupNotify = true;
})
@ -64,8 +65,8 @@ in
description = "Spotify web app running in Chromium";
homepage = "https://open.spotify.com";
license = licenses.free;
maintainers = [];
maintainers = [ ];
platforms = platforms.linux;
mainProgram = "spotify-webapp";
};
}
}

View file

@ -7,7 +7,8 @@
pkgs,
inputs,
...
}: {
}:
{
environment.sessionVariables = {
# this makes electron apps work per the wiki
NIXOS_OZONE_WL = "1";

View file

@ -2,16 +2,17 @@
config,
pkgs,
...
}: {
}:
{
environment.systemPackages = with pkgs; [
ddcutil
mangohud
(bottles.override {removeWarningPopup = true;})
(bottles.override { removeWarningPopup = true; })
];
# enable ddcutil
users.users.sckova.extraGroups = ["i2c"];
boot.extraModulePackages = [config.boot.kernelPackages.ddcci-driver];
users.users.sckova.extraGroups = [ "i2c" ];
boot.extraModulePackages = [ config.boot.kernelPackages.ddcci-driver ];
boot.kernelModules = [
"i2c-dev"
"ddcci_backlight"
@ -92,7 +93,7 @@
# enable hyper-v for guests
virtualisation.hypervGuest.enable = true;
boot.blacklistedKernelModules = ["hyperv_fb"];
boot.blacklistedKernelModules = [ "hyperv_fb" ];
boot.binfmt.emulatedSystems = [
"aarch64-linux"
@ -100,5 +101,5 @@
];
# i don't even remember what this does or why i added it
systemd.tmpfiles.rules = ["L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware"];
systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
}

View file

@ -2,8 +2,9 @@
pkgs,
config,
...
}: {
boot.kernelParams = ["appledrm.show_notch=1"];
}:
{
boot.kernelParams = [ "appledrm.show_notch=1" ];
catppuccin = {
accent = "lavender";
@ -14,7 +15,7 @@
ddcutil
];
boot.extraModulePackages = [config.boot.kernelPackages.ddcci-driver];
boot.extraModulePackages = [ config.boot.kernelPackages.ddcci-driver ];
boot.kernelModules = [
"i2c-dev"
"ddcci_backlight"

View file

@ -1,11 +1,12 @@
{catppuccin, ...}: {
{ catppuccin, ... }:
{
catppuccin = {
accent = "green";
flavor = "mocha";
};
home-manager.users.sckova = {
imports = [catppuccin.homeModules.catppuccin];
imports = [ catppuccin.homeModules.catppuccin ];
};
services.spice-vdagentd.enable = true;

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
# This following block taken from the wiki:
# https://nixos.wiki/wiki/Fish#Setting_fish_as_your_shell
programs.bash = {

View file

@ -6,7 +6,8 @@
pkgs,
lib,
...
}: let
}:
let
tailscaleWaitScript = pkgs.writeShellScript "tailscale-wait-for-ip" ''
echo "Waiting for tailscale0 to get an IP address..."
for i in {1..15}; do
@ -20,7 +21,8 @@
echo "Warning: tailscale0 did not get IP address within 15 seconds"
exit 0
'';
in {
in
{
systemd.services.tailscaled = {
serviceConfig = {
ExecStartPost = tailscaleWaitScript;

View file

@ -4,13 +4,14 @@
config,
lib,
...
}: {
}:
{
nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [
(final: prev: {
wrapLibrewolf = browser: opts: let
extraPrefs =
(opts.extraPrefs or "")
+ ''
wrapLibrewolf =
browser: opts:
let
extraPrefs = (opts.extraPrefs or "") + ''
lockPref("media.gmp-widevinecdm.version", "system-installed");
lockPref("media.gmp-widevinecdm.visible", true);
lockPref("media.gmp-widevinecdm.enabled", true);
@ -21,10 +22,8 @@
widevineCdmDir = "${final.widevine-cdm}/share/google/chrome/WidevineCdm";
widevineOutDir = "$out/gmp-widevinecdm/system-installed";
in
(prev.wrapLibrewolf browser (opts // {inherit extraPrefs;})).overrideAttrs (previousAttrs: {
buildCommand =
previousAttrs.buildCommand
+ ''
(prev.wrapLibrewolf browser (opts // { inherit extraPrefs; })).overrideAttrs (previousAttrs: {
buildCommand = previousAttrs.buildCommand + ''
mkdir -p "${widevineOutDir}"
ln -s "${widevineCdmDir}/_platform_specific/linux_arm64/libwidevinecdm.so" "${widevineOutDir}/libwidevinecdm.so"
ln -s "${widevineCdmDir}/manifest.json" "${widevineOutDir}/manifest.json"