Compare commits

..

1 commit

Author SHA1 Message Date
cb35be863f
wip: switch to niri
Some checks failed
/ check (nvimDev) (push) Successful in 5s
/ check (nvimHeadless) (push) Successful in 3s
/ check (nvimNoBundledBins) (push) Successful in 5s
/ check (nvimNoLsp) (push) Successful in 5s
/ check (nvimNoTSGrammars) (push) Successful in 5s
/ check (treefmt) (push) Successful in 3s
/ build (audiomenu) (push) Successful in 1s
/ build (docs) (push) Successful in 2s
/ build (jpassmenu) (push) Successful in 1s
/ build (nixosConfigurations.vm.config.system.build.toplevel) (push) Failing after 2s
/ build (nvim) (push) Successful in 9s
/ report-size (push) Has been skipped
Looks cooler c:
2025-02-15 16:16:32 +01:00
15 changed files with 333 additions and 213 deletions

View file

@ -16,6 +16,7 @@
nixosModule = { nixosModule = {
imports = [ imports = [
(import ../system { inherit (inputs) stylix; }) (import ../system { inherit (inputs) stylix; })
inputs.niri.nixosModules.niri
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
] ++ lib.optional (inputs.lix-module != null) inputs.lix-module.nixosModules.default; ] ++ lib.optional (inputs.lix-module != null) inputs.lix-module.nixosModules.default;
home-manager = { home-manager = {

View file

@ -17,10 +17,7 @@
}; };
}; };
moduleDev = nvimModule { }; moduleDev = nvimModule { };
moduleHeadless = nvimModule { moduleHeadless = nvimModule { jhome.nvim.dev.enable = false; };
jhome.nvim.dev.enable = false;
jhome.nvim.reduceSize = true;
};
moduleNoLsp = nvimModule { jhome.nvim.dev.bundleLSPs = false; }; moduleNoLsp = nvimModule { jhome.nvim.dev.bundleLSPs = false; };
moduleNoTSGrammars = nvimModule { jhome.nvim.dev.bundleGrammars = false; }; moduleNoTSGrammars = nvimModule { jhome.nvim.dev.bundleGrammars = false; };
moduleNoBundledBins = nvimModule { moduleNoBundledBins = nvimModule {

98
flake.lock generated
View file

@ -69,11 +69,11 @@
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1739223196, "lastModified": 1734969791,
"narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=", "narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21", "rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -230,11 +230,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739757849, "lastModified": 1736373539,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", "rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -279,13 +279,57 @@
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz" "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz"
} }
}, },
"niri": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": [],
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": [
"nixpkgs"
],
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": []
},
"locked": {
"lastModified": 1739042449,
"narHash": "sha256-9zLFUpEebwhjCgtznsI61gTzefI3+fuXATHUOFzJi5w=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "98e3666a9dc4143cbf93d957a15d749b5acef046",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1736614405,
"narHash": "sha256-AJ1rlgNOPb3/+DbS5hkhm21t6Oz8IgqLllwmZt0lyzk=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "e05bc269e678ecf828b96ae79c991c13b00b38a5",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.01",
"repo": "niri",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1739923778, "lastModified": 1739357830,
"narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=", "narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1", "rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -330,11 +374,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739902813, "lastModified": 1739469954,
"narHash": "sha256-BgOQcKKz7VNvSHIbBllHisv32HvF3W3ALF9sdnC++V8=", "narHash": "sha256-faUXxkM3yYm++fpEw02tbAgPJprVB0xOtrU87BEQkuI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "0ab9947137cd034ec64eb5cd9ede94e53af21f50", "rev": "7f29e4b2ae34c1ba5fe650d74c8f28b0d1fa21ee",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -348,6 +392,7 @@
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"home-manager": "home-manager", "home-manager": "home-manager",
"lix-module": "lix-module", "lix-module": "lix-module",
"niri": "niri",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixvim": "nixvim", "nixvim": "nixvim",
"stylix": "stylix", "stylix": "stylix",
@ -387,11 +432,11 @@
"tinted-tmux": "tinted-tmux" "tinted-tmux": "tinted-tmux"
}, },
"locked": { "locked": {
"lastModified": 1739882598, "lastModified": 1739392863,
"narHash": "sha256-LlUFkinhMlvK5uIx6tTg1UYcreYF4iLVNRL8mqiSyjQ=", "narHash": "sha256-mU+aYnob+7Ycu/tU9oFoweIJwdjLj0uxcp+I1czH4DM=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "248860c767c67881a7491bcd522a8571560af089", "rev": "dfa4128b453d424c9fe3ef919776e722c0b766cb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -473,11 +518,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739829690, "lastModified": 1738953846,
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", "narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "3d0579f5cc93436052d94b73925b48973a104204", "rev": "4f09b473c936d41582dd744e19f34ec27592c5fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -485,6 +530,23 @@
"repo": "treefmt-nix", "repo": "treefmt-nix",
"type": "github" "type": "github"
} }
},
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1730166465,
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.5",
"repo": "xwayland-satellite",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -23,6 +23,15 @@
url = "github:nix-community/home-manager/release-24.11"; url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
niri = {
url = "github:sodiboo/niri-flake";
inputs = {
nixpkgs.follows = "nixpkgs";
nixpkgs-stable.follows = "nixpkgs";
niri-unstable.follows = "";
xwayland-satellite-unstable.follows = "";
};
};
stylix = { stylix = {
url = "github:danth/stylix/release-24.11"; url = "github:danth/stylix/release-24.11";
inputs = { inputs = {

View file

@ -37,9 +37,6 @@ in
}; };
}) })
(lib.mkIf cfg.enable { (lib.mkIf cfg.enable {
# Add gopass if pass is enabled
home.packages = lib.optional config.programs.password-store.enable pkgs.gopass;
nix.settings.use-xdg-base-directories = fromOs [ nix.settings.use-xdg-base-directories = fromOs [
"nix" "nix"
"settings" "settings"
@ -72,10 +69,12 @@ in
homedir = "${config.xdg.dataHome}/gnupg"; homedir = "${config.xdg.dataHome}/gnupg";
}; };
# Mail client # Mail client
himalaya.enable = lib.mkDefault true; himalaya.enable = true;
# Another shell
nushell.enable = true;
# Password manager # Password manager
password-store = { password-store = {
enable = lib.mkDefault true; enable = true;
package = pkgs.pass-nodmenu; package = pkgs.pass-nodmenu;
settings.PASSWORD_STORE_DIR = "${config.xdg.dataHome}/pass"; settings.PASSWORD_STORE_DIR = "${config.xdg.dataHome}/pass";
}; };
@ -116,6 +115,11 @@ in
home = { home = {
stateVersion = "22.11"; stateVersion = "22.11";
# Extra packages # Extra packages
packages = [
pkgs.gopass
pkgs.sshfs
pkgs.unstable.gitoxide
];
# Extra variables # Extra variables
sessionVariables = { sessionVariables = {
CARGO_HOME = "${config.xdg.dataHome}/cargo"; CARGO_HOME = "${config.xdg.dataHome}/cargo";

View file

@ -71,8 +71,6 @@ in
enable = true; enable = true;
scripts = builtins.attrValues { inherit (pkgs.mpvScripts) uosc thumbfast; }; scripts = builtins.attrValues { inherit (pkgs.mpvScripts) uosc thumbfast; };
}; };
# Text editor
nixvim.clipboard.providers.wl-copy.enable = lib.mkDefault true;
# Status bar # Status bar
waybar = { waybar = {
enable = true; enable = true;
@ -148,13 +146,55 @@ in
}; };
# Window Manager # Window Manager
wayland.windowManager.sway = { niri = {
inherit (cfg.sway) enable; package = pkgs.niri; # use nixpkgs' package instead of the flake's
package = swayPkg; # no sway package if it comes from the OS settings = {
config = import ./sway-config.nix { inherit config pkgs; }; binds =
systemd = { let
enable = true; # Modifier key
xdgAutostart = true; mod = "Mod";
# Available workspaces (1..=9)
workspaces = lib.range 1 9;
# Run function for each workspace
perWorkspace = f: lib.mergeAttrsList (builtins.map f workspaces);
in
with config.lib.niri.actions;
{
# Open Terminal
"${mod}+Return".action.spawn = config.jhome.gui.terminalCommand;
# Open menu
"${mod}+D".action =
spawn "${lib.getExe pkgs.fuzzel}" "--terminal"
"${builtins.concatStringSep " " terminalCommand}";
# Close Window
"${mod}+Q".action = close-window;
# Fullscreen
"${mod}+F".action = fullscreen-window;
# Hotkey help menu
"${mod}+Shift+/".action = show-hotkey-overlay;
# Media Keys
"XF86AudioRaiseVolume" = {
action = spawn "${pkgs.avizo}/bin/volumectl" "up";
allow-when-locked = true;
};
"XF86AudioLowerVolume" = {
action = spawn "${pkgs.avizo}/bin/volumectl" "down";
allow-when-locked = true;
};
"XF86AudioMute" = {
action = spawn "${pkgs.avizo}/bin/volumectl" "toggle-mute";
allow-when-locked = true;
};
# Lock screen
"XF86ScreenSaver".action = spawn "swaylock" "--image" "${cfg.background}";
# Screen brightness
"XF86MonBrightnessUp".action = spawn "${pkgs.avizo}/bin/lightctl" "up";
"XF86MonBrightnessDown".action = spawn "${pkgs.avizo}/bin/lightctl" "down";
}
// perWorkspace (workspace: {
# Focus workspace N
"${mod}+${builtins.toString workspace}".action = focus-workspace workspace;
});
}; };
}; };

View file

@ -2,14 +2,7 @@
let let
cfg = config.jhome.gui.sway; cfg = config.jhome.gui.sway;
modifier = "Mod4"; modifier = "Mod4";
inherit (config.jhome.gui) terminal; termCmd = builtins.concatStringsSep " " config.jhome.gui.terminalCommand;
termCmd =
if terminal == "wezterm" then
"wezterm start"
else if terminal == "alacritty" then
"alacritty -e"
else
builtins.abort "no command configured for ${terminal}";
menu = "${pkgs.fuzzel}/bin/fuzzel --terminal '${termCmd}'"; menu = "${pkgs.fuzzel}/bin/fuzzel --terminal '${termCmd}'";
# currently, there is some friction between sway and gtk: # currently, there is some friction between sway and gtk:
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland # https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
@ -45,7 +38,8 @@ let
}; };
in in
{ {
inherit modifier terminal menu; inherit (config.jhome.gui) terminal;
inherit modifier menu;
keybindings = import ./keybindings.nix { inherit config pkgs; }; keybindings = import ./keybindings.nix { inherit config pkgs; };
# Appearance # Appearance
bars = [ ]; # Waybar is started as a systemd service bars = [ ]; # Waybar is started as a systemd service

View file

@ -136,33 +136,58 @@ let
}; };
}; };
gui.options = { gui.options =
enable = lib.mkEnableOption "GUI applications" // { let
default = fromConfig [ cfg = attrs.config.jhome.gui;
"gui" in
"enable" {
] false; enable = lib.mkEnableOption "GUI applications" // {
default = fromConfig [
"gui"
"enable"
] false;
};
tempInfo = lib.mkOption {
description = "Temperature info to display in the statusbar.";
default = null;
type = types.nullOr (types.submodule tempInfo);
};
sway = lib.mkOption {
description = "Sway window manager configuration.";
default = { };
type = types.submodule sway;
};
terminal = lib.mkOption {
description = "The terminal emulator to use.";
default = "alacritty";
example = "wezterm";
type = types.enum [
"wezterm"
"alacritty"
];
};
terminalCommand = lib.mkOption {
description = "The command to run in order to start the terminal.";
default =
if cfg.terminal == "wezterm" then
[
"wezterm"
"start"
]
else if cfg.terminal == "alacritty" then
[
"alacritty"
"-e"
]
else
builtins.abort "no command configured for ${cfg.terminal}";
example = [
"wezterm"
"start"
];
type = types.listOf types.str;
};
}; };
tempInfo = lib.mkOption {
description = "Temperature info to display in the statusbar.";
default = null;
type = types.nullOr (types.submodule tempInfo);
};
sway = lib.mkOption {
description = "Sway window manager configuration.";
default = { };
type = types.submodule sway;
};
terminal = lib.mkOption {
description = "The terminal emulator to use.";
default = "alacritty";
example = "wezterm";
type = types.enum [
"wezterm"
"alacritty"
];
};
};
in in
{ {
options.jhome = lib.mkOption { options.jhome = lib.mkOption {
@ -199,7 +224,6 @@ in
[ "typos" ] # low false positive rate typo checker [ "typos" ] # low false positive rate typo checker
[ "gcc" ] # GNU Compiler Collection [ "gcc" ] # GNU Compiler Collection
[ "git-absorb" ] # fixup! but automatic [ "git-absorb" ] # fixup! but automatic
[ "gitoxide" ] # git but RiiR
[ "man-pages" ] # gimme the man pages [ "man-pages" ] # gimme the man pages
[ "man-pages-posix" ] # I said gimme the man pages!!! [ "man-pages-posix" ] # I said gimme the man pages!!!
]; ];

View file

@ -7,6 +7,7 @@
let let
inherit (helpers) mkRaw; inherit (helpers) mkRaw;
cfg = config.jhome.nvim; cfg = config.jhome.nvim;
dev = cfg.dev.enable;
in in
{ {
config.keymaps = config.keymaps =
@ -201,21 +202,21 @@ in
''; '';
options.desc = "Find Quickfix"; options.desc = "Find Quickfix";
} }
] # Nvim Silicon
# Nvim Silicon {
++ lib.optional (!cfg.reduceSize) { mode = "v";
mode = "v"; key = "<leader>sc";
key = "<leader>sc"; action =
action = mkRaw
mkRaw # lua
# lua ''
'' require('nvim-silicon').clip
require('nvim-silicon').clip
''; '';
options.desc = "Snap Code (to clipboard)"; options.desc = "Snap Code (to clipboard)";
} }
++ lib.optional cfg.dev.enable { ]
++ lib.optional dev {
mode = "n"; mode = "n";
key = "<leader>w"; key = "<leader>w";
action = action =

View file

@ -12,7 +12,6 @@ in
{ {
options.jhome.nvim = { options.jhome.nvim = {
enable = mkDisableOption "jalil's Neovim configuration"; enable = mkDisableOption "jalil's Neovim configuration";
reduceSize = mkEnableOption "reduce size by disabling big modules";
dev = mkOption { dev = mkOption {
type = types.submodule { type = types.submodule {
options = { options = {

View file

@ -1,14 +1,4 @@
{ { pkgs, ... }:
lib,
pkgs,
config,
...
}:
let
cfg = config.jhome.nvim;
plugins = pkgs.vimPlugins;
extraPlugins = import ./extraPlugins { inherit pkgs; };
in
{ {
imports = [ imports = [
./options.nix ./options.nix
@ -18,87 +8,91 @@ in
./augroups.nix ./augroups.nix
]; ];
config = lib.mkMerge [ config = {
{ withRuby = false;
withRuby = false; globals.mapleader = " ";
globals.mapleader = " "; # Appearance
# Appearance colorschemes.gruvbox = {
colorschemes.gruvbox = { enable = true;
enable = true; settings = {
settings = { bold = true;
bold = true; transparent_mode = true;
transparent_mode = true; terminal_colors = true;
terminal_colors = true;
};
}; };
opts = { };
number = true; clipboard.providers.wl-copy.enable = true;
relativenumber = true; opts = {
colorcolumn = "+1"; number = true;
cursorline = true; relativenumber = true;
wrap = false; colorcolumn = "+1";
splitright = true; cursorline = true;
# Tabs & indentation wrap = false;
smarttab = true; splitright = true;
autoindent = true; # Tabs & indentation
smartindent = true; smarttab = true;
# Search path autoindent = true;
path = ".,/usr/include,**"; smartindent = true;
wildmenu = true; # Search path
hlsearch = true; path = ".,/usr/include,**";
incsearch = true; wildmenu = true;
ignorecase = true; # Search ignores cases hlsearch = true;
smartcase = true; # Unless it has a capital letter incsearch = true;
# Enable local configuration :h 'exrc' ignorecase = true; # Search ignores cases
exrc = true; # safe since nvim 0.9 smartcase = true; # Unless it has a capital letter
}; # Enable local configuration :h 'exrc'
extraPlugins = [ exrc = true; # safe since nvim 0.9
};
extraPlugins =
let
plugins = pkgs.vimPlugins;
extraPlugins = import ./extraPlugins { inherit pkgs; };
in
[
plugins.nui-nvim plugins.nui-nvim
plugins.nvim-web-devicons plugins.nvim-web-devicons
plugins.vim-jjdescription # FIXME: included since neovim nightly plugins.vim-jjdescription
extraPlugins.nvim-silicon
]; ];
extraPackages = [ pkgs.luajitPackages.jsregexp ]; # Formatting & linters
extraConfigLuaPre = extraPackages = [
# lua pkgs.luajitPackages.jsregexp
'' pkgs.silicon
-- Lua Pre Config ];
if vim.fn.has 'termguicolors' then extraConfigLuaPre =
-- Enable RGB colors # lua
vim.g.termguicolors = true ''
end -- Lua Pre Config
if vim.fn.has 'termguicolors' then
-- Enable RGB colors
vim.g.termguicolors = true
end
-- Useful function -- Useful function
local has_words_before = function() local has_words_before = function()
-- unpack = unpack or table.unpack -- unpack = unpack or table.unpack
local line, col = unpack(vim.api.nvim_win_get_cursor(0)) local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 return col ~= 0
and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match '%s' == nil and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match '%s' == nil
end end
-- END: Lua Pre Config -- END: Lua Pre Config
''; '';
} extraConfigLua =
# Big packages that are kinda unnecessary # lua
(lib.mkIf (!cfg.reduceSize) { ''
extraPlugins = [ extraPlugins.nvim-silicon ]; -- Lua Config
extraPackages = [ pkgs.silicon ]; require("nvim-silicon").setup {
extraConfigLua = theme = "gruvbox-dark",
# lua pad_horiz = 16,
'' pad_vert = 16,
-- Lua Config -- Current buffer name
require("nvim-silicon").setup { window_title = function()
theme = "gruvbox-dark", return vim.fn.fnamemodify(
pad_horiz = 16, vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf()),
pad_vert = 16, ":t"
-- Current buffer name )
window_title = function() end,
return vim.fn.fnamemodify( }
vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf()), -- END: Lua Config
":t" '';
) };
end,
}
-- END: Lua Config
'';
})
];
} }

View file

@ -116,9 +116,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.30" version = "4.5.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92b7b18d71fad5313a1e320fa9897994228ce274b60faa4d694fe0ea89cd9e6d" checksum = "8acebd8ad879283633b343856142139f2da2317c96b05b4dd6181c61e2480184"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@ -126,9 +126,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.30" version = "4.5.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a35db2071778a7344791a4fb4f95308b5673d219dee3ae348b86642574ecc90c" checksum = "f6ba32cbda51c7e1dfd49acc1457ba1a7dec5b64fe360e828acb13ca8dc9c2f9"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -263,9 +263,9 @@ dependencies = [
[[package]] [[package]]
name = "miniz_oxide" name = "miniz_oxide"
version = "0.8.5" version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b"
dependencies = [ dependencies = [
"adler2", "adler2",
] ]
@ -346,18 +346,18 @@ checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.218" version = "1.0.217"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.218" version = "1.0.217"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -366,9 +366,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.139" version = "1.0.138"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6" checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949"
dependencies = [ dependencies = [
"itoa", "itoa",
"memchr", "memchr",
@ -466,9 +466,9 @@ dependencies = [
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.17" version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
[[package]] [[package]]
name = "unicode-linebreak" name = "unicode-linebreak"

View file

@ -124,9 +124,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.30" version = "4.5.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92b7b18d71fad5313a1e320fa9897994228ce274b60faa4d694fe0ea89cd9e6d" checksum = "8acebd8ad879283633b343856142139f2da2317c96b05b4dd6181c61e2480184"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@ -134,9 +134,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.30" version = "4.5.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a35db2071778a7344791a4fb4f95308b5673d219dee3ae348b86642574ecc90c" checksum = "f6ba32cbda51c7e1dfd49acc1457ba1a7dec5b64fe360e828acb13ca8dc9c2f9"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -323,9 +323,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.26" version = "0.4.25"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
[[package]] [[package]]
name = "memchr" name = "memchr"
@ -366,9 +366,9 @@ dependencies = [
[[package]] [[package]]
name = "miniz_oxide" name = "miniz_oxide"
version = "0.8.5" version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b"
dependencies = [ dependencies = [
"adler2", "adler2",
] ]
@ -481,18 +481,18 @@ dependencies = [
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.218" version = "1.0.217"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60" checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.218" version = "1.0.217"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b" checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -589,9 +589,9 @@ dependencies = [
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.17" version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
[[package]] [[package]]
name = "unicode-linebreak" name = "unicode-linebreak"

View file

@ -45,14 +45,9 @@ in
fonts.fontDir.enable = true; fonts.fontDir.enable = true;
programs = { programs = {
dconf.enable = true; dconf.enable = true;
sway = { niri = {
enable = cfg.sway; enable = cfg.windowManager;
# No extra packages (by default it adds foot, dmenu, and other stuff) package = pkgs.niri; # use nixpkgs' package instead of the flake's
extraPackages = [ ];
wrapperFeatures = {
base = true;
gtk = true;
};
}; };
}; };
security = { security = {

View file

@ -37,7 +37,7 @@ let
options.autoStart = mkDisableOption "autostarting ydotool at login"; options.autoStart = mkDisableOption "autostarting ydotool at login";
}; };
}; };
sway = mkDisableOption "sway"; windowManager = mkDisableOption "window manager";
}; };
styling.options = { styling.options = {