Run nixfmt-rfc-style on repository and add it to Zed config

This commit is contained in:
Jo 2025-05-26 18:06:37 +02:00
parent f5e5adb2fd
commit 45494079c5
41 changed files with 441 additions and 240 deletions

View file

@ -4,12 +4,14 @@
self,
config,
...
}: let
}:
let
inherit (lib) mkEnableOption mkIf mkForce;
inherit (self) namespace;
cfg = config.${namespace}.apps.zed;
in {
in
{
options.${namespace}.apps.zed = {
enable = mkEnableOption "zed, the graphical editor from the future";
};
@ -67,11 +69,14 @@ in {
### Language specific configurations
languages = {
Nix = {
language_servers = ["nixd" "!nil"];
language_servers = [
"nixd"
"!nil"
];
formatter = {
external = {
command = "alejandra";
arguments = ["--quiet"];
command = "nixfmt";
arguments = [ "--quiet" ];
};
};
};
@ -123,6 +128,7 @@ in {
### Nix
nixd
alejandra
nixfmt-rfc-style
### Python
python3Packages.python-lsp-server

View file

@ -5,24 +5,44 @@
config,
osConfig,
...
}: let
}:
let
inherit (lib) mkIf mkOption;
inherit (self) namespace;
inherit (self.lib) mkOpt;
cfg = config.${namespace}.desktop.gnome;
in {
in
{
options.${namespace}.desktop.gnome = with lib.types; {
enabled-extensions = mkOption {
type = listOf package;
default = with pkgs.gnomeExtensions; [user-themes blur-my-shell appindicator unite color-picker clipboard-history];
example = [dash-to-dock blur-my-shell];
default = with pkgs.gnomeExtensions; [
user-themes
blur-my-shell
appindicator
unite
color-picker
clipboard-history
];
example = [
dash-to-dock
blur-my-shell
];
description = "Specify gnome extensions to install.";
};
favorite-apps = mkOption {
type = listOf str;
default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "firefox.desktop" "dev.zed.Zed.desktop"];
example = ["org.gnome.Nautilus.desktop" "obsidian.desktop"];
default = [
"org.gnome.Nautilus.desktop"
"obsidian.desktop"
"firefox.desktop"
"dev.zed.Zed.desktop"
];
example = [
"org.gnome.Nautilus.desktop"
"obsidian.desktop"
];
description = "Specify your favorite apps (sorted left to right).";
};
extensions = {
@ -44,7 +64,9 @@ in {
enable-blur = mkOpt bool false "Whether to enable blur-my-shell application blur.";
};
};
wallpaper = mkOpt str (builtins.toString ../wallpapers/catppuccin/howard-chen-mao-mao-forest-campsite.jpg) "Specify the path of your prefered Gnome wallpaper.";
wallpaper =
mkOpt str (builtins.toString ../wallpapers/catppuccin/howard-chen-mao-mao-forest-campsite.jpg)
"Specify the path of your prefered Gnome wallpaper.";
};
config = mkIf osConfig.${namespace}.desktop.gnome.enable {
@ -54,31 +76,35 @@ in {
"org/gnome/shell" = {
favorite-apps = cfg.favorite-apps;
enabled-extensions = lib.forEach cfg.enabled-extensions (x: x.extensionUuid);
disabled-extensions = []; # Make sure none of our extensions are disabled on system rebuild
disabled-extensions = [ ]; # Make sure none of our extensions are disabled on system rebuild
};
"org/gnome/shell/extensions/unite" = mkIf (builtins.elem pkgs.gnomeExtensions.unite cfg.enabled-extensions) {
show-window-buttons = cfg.extensions.unite.show-window-buttons;
hide-window-titlebars = cfg.extensions.unite.hide-window-titlebars;
"org/gnome/shell/extensions/unite" =
mkIf (builtins.elem pkgs.gnomeExtensions.unite cfg.enabled-extensions)
{
show-window-buttons = cfg.extensions.unite.show-window-buttons;
hide-window-titlebars = cfg.extensions.unite.hide-window-titlebars;
use-activities-text = false;
extend-left-box = false;
reduce-panel-spacing = false;
show-legacy-tray = false;
show-appmenu-button = false;
show-desktop-name = false;
enable-titlebar-actions = false;
restrict-to-primary-screen = false;
hide-activities-button = "never";
autofocus-windows = true;
notifications-position = "right";
};
"org/gnome/shell/extensions/blur-my-shell/applications" = mkIf cfg.extensions.blur-my-shell.enable-blur {
blur = true;
sigma = 30;
opacity = 230;
enable-all = true;
dynamic-opacity = false;
};
use-activities-text = false;
extend-left-box = false;
reduce-panel-spacing = false;
show-legacy-tray = false;
show-appmenu-button = false;
show-desktop-name = false;
enable-titlebar-actions = false;
restrict-to-primary-screen = false;
hide-activities-button = "never";
autofocus-windows = true;
notifications-position = "right";
};
"org/gnome/shell/extensions/blur-my-shell/applications" =
mkIf cfg.extensions.blur-my-shell.enable-blur
{
blur = true;
sigma = 30;
opacity = 230;
enable-all = true;
dynamic-opacity = false;
};
"org/gnome/desktop/background" = {
picture-uri = cfg.wallpaper;
picture-uri-dark = cfg.wallpaper;

View file

@ -1,4 +1,5 @@
{config, ...}: {
{ config, ... }:
{
sops = {
age.keyFile = "/home/${config.home.username}/sops-nix/key.txt";
};

View file

@ -6,19 +6,25 @@
osConfig,
namespace,
...
}: let
}:
let
inherit (lib) mkEnableOption types mkIf;
inherit (self.lib) mkOpt;
palette = (pkgs.lib.importJSON (config.catppuccin.sources.palette + "/palette.json")).${config.catppuccin.flavor}.colors;
palette =
(pkgs.lib.importJSON (config.catppuccin.sources.palette + "/palette.json"))
.${config.catppuccin.flavor}.colors;
cfg = config.${namespace}.themes.catppuccin;
in {
in
{
options.${namespace}.themes.catppuccin = {
enable = mkEnableOption "the Catppuccin theme, globally.";
accent = mkOpt types.str "blue" "The accent colour to use.";
flavor = mkOpt types.str "macchiato" "The flavor to use.";
palette = mkOpt (lib.types.attrsOf lib.types.raw) palette "a reference to the current active Catppuccin palette.";
palette =
mkOpt (lib.types.attrsOf lib.types.raw) palette
"a reference to the current active Catppuccin palette.";
};
config = mkIf cfg.enable {

View file

@ -4,7 +4,8 @@
config,
namespace,
...
}: let
}:
let
inherit (lib) mkEnableOption mkIf;
catppuccinCfg = config.${namespace}.themes.catppuccin;
@ -104,16 +105,19 @@
};
cfg = config.${namespace}.themes.catppuccin.gtk;
in {
options.${namespace}.themes.catppuccin.gtk = {enable = mkEnableOption "Enable the Catppuccin theme for GTK";};
in
{
options.${namespace}.themes.catppuccin.gtk = {
enable = mkEnableOption "Enable the Catppuccin theme for GTK";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
(colloid-gtk-theme.override {
themeVariants = ["default"];
colorVariants = ["dark"];
sizeVariants = ["standard"];
tweaks = ["catppuccin"];
themeVariants = [ "default" ];
colorVariants = [ "dark" ];
sizeVariants = [ "standard" ];
tweaks = [ "catppuccin" ];
})
];