Compare commits
1 commit
main
...
push-zwply
Author | SHA1 | Date | |
---|---|---|---|
cb35be863f |
15 changed files with 333 additions and 213 deletions
|
@ -16,6 +16,7 @@
|
|||
nixosModule = {
|
||||
imports = [
|
||||
(import ../system { inherit (inputs) stylix; })
|
||||
inputs.niri.nixosModules.niri
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
] ++ lib.optional (inputs.lix-module != null) inputs.lix-module.nixosModules.default;
|
||||
home-manager = {
|
||||
|
|
|
@ -17,10 +17,7 @@
|
|||
};
|
||||
};
|
||||
moduleDev = nvimModule { };
|
||||
moduleHeadless = nvimModule {
|
||||
jhome.nvim.dev.enable = false;
|
||||
jhome.nvim.reduceSize = true;
|
||||
};
|
||||
moduleHeadless = nvimModule { jhome.nvim.dev.enable = false; };
|
||||
moduleNoLsp = nvimModule { jhome.nvim.dev.bundleLSPs = false; };
|
||||
moduleNoTSGrammars = nvimModule { jhome.nvim.dev.bundleGrammars = false; };
|
||||
moduleNoBundledBins = nvimModule {
|
||||
|
|
98
flake.lock
generated
98
flake.lock
generated
|
@ -69,11 +69,11 @@
|
|||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1739223196,
|
||||
"narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=",
|
||||
"lastModified": 1734969791,
|
||||
"narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21",
|
||||
"rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -230,11 +230,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739757849,
|
||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
||||
"lastModified": 1736373539,
|
||||
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
||||
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -279,13 +279,57 @@
|
|||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1739923778,
|
||||
"narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=",
|
||||
"lastModified": 1739357830,
|
||||
"narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1",
|
||||
"rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -330,11 +374,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739902813,
|
||||
"narHash": "sha256-BgOQcKKz7VNvSHIbBllHisv32HvF3W3ALF9sdnC++V8=",
|
||||
"lastModified": 1739469954,
|
||||
"narHash": "sha256-faUXxkM3yYm++fpEw02tbAgPJprVB0xOtrU87BEQkuI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "0ab9947137cd034ec64eb5cd9ede94e53af21f50",
|
||||
"rev": "7f29e4b2ae34c1ba5fe650d74c8f28b0d1fa21ee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -348,6 +392,7 @@
|
|||
"flake-parts": "flake-parts",
|
||||
"home-manager": "home-manager",
|
||||
"lix-module": "lix-module",
|
||||
"niri": "niri",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixvim": "nixvim",
|
||||
"stylix": "stylix",
|
||||
|
@ -387,11 +432,11 @@
|
|||
"tinted-tmux": "tinted-tmux"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739882598,
|
||||
"narHash": "sha256-LlUFkinhMlvK5uIx6tTg1UYcreYF4iLVNRL8mqiSyjQ=",
|
||||
"lastModified": 1739392863,
|
||||
"narHash": "sha256-mU+aYnob+7Ycu/tU9oFoweIJwdjLj0uxcp+I1czH4DM=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "248860c767c67881a7491bcd522a8571560af089",
|
||||
"rev": "dfa4128b453d424c9fe3ef919776e722c0b766cb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -473,11 +518,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739829690,
|
||||
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=",
|
||||
"lastModified": 1738953846,
|
||||
"narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "3d0579f5cc93436052d94b73925b48973a104204",
|
||||
"rev": "4f09b473c936d41582dd744e19f34ec27592c5fd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -485,6 +530,23 @@
|
|||
"repo": "treefmt-nix",
|
||||
"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",
|
||||
|
|
|
@ -23,6 +23,15 @@
|
|||
url = "github:nix-community/home-manager/release-24.11";
|
||||
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 = {
|
||||
url = "github:danth/stylix/release-24.11";
|
||||
inputs = {
|
||||
|
|
|
@ -37,9 +37,6 @@ in
|
|||
};
|
||||
})
|
||||
(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"
|
||||
|
@ -72,10 +69,12 @@ in
|
|||
homedir = "${config.xdg.dataHome}/gnupg";
|
||||
};
|
||||
# Mail client
|
||||
himalaya.enable = lib.mkDefault true;
|
||||
himalaya.enable = true;
|
||||
# Another shell
|
||||
nushell.enable = true;
|
||||
# Password manager
|
||||
password-store = {
|
||||
enable = lib.mkDefault true;
|
||||
enable = true;
|
||||
package = pkgs.pass-nodmenu;
|
||||
settings.PASSWORD_STORE_DIR = "${config.xdg.dataHome}/pass";
|
||||
};
|
||||
|
@ -116,6 +115,11 @@ in
|
|||
home = {
|
||||
stateVersion = "22.11";
|
||||
# Extra packages
|
||||
packages = [
|
||||
pkgs.gopass
|
||||
pkgs.sshfs
|
||||
pkgs.unstable.gitoxide
|
||||
];
|
||||
# Extra variables
|
||||
sessionVariables = {
|
||||
CARGO_HOME = "${config.xdg.dataHome}/cargo";
|
||||
|
|
|
@ -71,8 +71,6 @@ in
|
|||
enable = true;
|
||||
scripts = builtins.attrValues { inherit (pkgs.mpvScripts) uosc thumbfast; };
|
||||
};
|
||||
# Text editor
|
||||
nixvim.clipboard.providers.wl-copy.enable = lib.mkDefault true;
|
||||
# Status bar
|
||||
waybar = {
|
||||
enable = true;
|
||||
|
@ -148,13 +146,55 @@ in
|
|||
};
|
||||
|
||||
# Window Manager
|
||||
wayland.windowManager.sway = {
|
||||
inherit (cfg.sway) enable;
|
||||
package = swayPkg; # no sway package if it comes from the OS
|
||||
config = import ./sway-config.nix { inherit config pkgs; };
|
||||
systemd = {
|
||||
enable = true;
|
||||
xdgAutostart = true;
|
||||
niri = {
|
||||
package = pkgs.niri; # use nixpkgs' package instead of the flake's
|
||||
settings = {
|
||||
binds =
|
||||
let
|
||||
# Modifier key
|
||||
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;
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -2,14 +2,7 @@
|
|||
let
|
||||
cfg = config.jhome.gui.sway;
|
||||
modifier = "Mod4";
|
||||
inherit (config.jhome.gui) terminal;
|
||||
termCmd =
|
||||
if terminal == "wezterm" then
|
||||
"wezterm start"
|
||||
else if terminal == "alacritty" then
|
||||
"alacritty -e"
|
||||
else
|
||||
builtins.abort "no command configured for ${terminal}";
|
||||
termCmd = builtins.concatStringsSep " " config.jhome.gui.terminalCommand;
|
||||
menu = "${pkgs.fuzzel}/bin/fuzzel --terminal '${termCmd}'";
|
||||
# currently, there is some friction between sway and gtk:
|
||||
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
|
||||
|
@ -45,7 +38,8 @@ let
|
|||
};
|
||||
in
|
||||
{
|
||||
inherit modifier terminal menu;
|
||||
inherit (config.jhome.gui) terminal;
|
||||
inherit modifier menu;
|
||||
keybindings = import ./keybindings.nix { inherit config pkgs; };
|
||||
# Appearance
|
||||
bars = [ ]; # Waybar is started as a systemd service
|
||||
|
|
|
@ -136,33 +136,58 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
gui.options = {
|
||||
enable = lib.mkEnableOption "GUI applications" // {
|
||||
default = fromConfig [
|
||||
"gui"
|
||||
"enable"
|
||||
] false;
|
||||
gui.options =
|
||||
let
|
||||
cfg = attrs.config.jhome.gui;
|
||||
in
|
||||
{
|
||||
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
|
||||
{
|
||||
options.jhome = lib.mkOption {
|
||||
|
@ -199,7 +224,6 @@ in
|
|||
[ "typos" ] # low false positive rate typo checker
|
||||
[ "gcc" ] # GNU Compiler Collection
|
||||
[ "git-absorb" ] # fixup! but automatic
|
||||
[ "gitoxide" ] # git but RiiR
|
||||
[ "man-pages" ] # gimme the man pages
|
||||
[ "man-pages-posix" ] # I said gimme the man pages!!!
|
||||
];
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
let
|
||||
inherit (helpers) mkRaw;
|
||||
cfg = config.jhome.nvim;
|
||||
dev = cfg.dev.enable;
|
||||
in
|
||||
{
|
||||
config.keymaps =
|
||||
|
@ -201,21 +202,21 @@ in
|
|||
'';
|
||||
options.desc = "Find Quickfix";
|
||||
}
|
||||
]
|
||||
# Nvim Silicon
|
||||
++ lib.optional (!cfg.reduceSize) {
|
||||
mode = "v";
|
||||
key = "<leader>sc";
|
||||
action =
|
||||
mkRaw
|
||||
# lua
|
||||
''
|
||||
require('nvim-silicon').clip
|
||||
# Nvim Silicon
|
||||
{
|
||||
mode = "v";
|
||||
key = "<leader>sc";
|
||||
action =
|
||||
mkRaw
|
||||
# lua
|
||||
''
|
||||
require('nvim-silicon').clip
|
||||
|
||||
'';
|
||||
options.desc = "Snap Code (to clipboard)";
|
||||
}
|
||||
++ lib.optional cfg.dev.enable {
|
||||
'';
|
||||
options.desc = "Snap Code (to clipboard)";
|
||||
}
|
||||
]
|
||||
++ lib.optional dev {
|
||||
mode = "n";
|
||||
key = "<leader>w";
|
||||
action =
|
||||
|
|
|
@ -12,7 +12,6 @@ in
|
|||
{
|
||||
options.jhome.nvim = {
|
||||
enable = mkDisableOption "jalil's Neovim configuration";
|
||||
reduceSize = mkEnableOption "reduce size by disabling big modules";
|
||||
dev = mkOption {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
|
|
|
@ -1,14 +1,4 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.jhome.nvim;
|
||||
plugins = pkgs.vimPlugins;
|
||||
extraPlugins = import ./extraPlugins { inherit pkgs; };
|
||||
in
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./options.nix
|
||||
|
@ -18,87 +8,91 @@ in
|
|||
./augroups.nix
|
||||
];
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
withRuby = false;
|
||||
globals.mapleader = " ";
|
||||
# Appearance
|
||||
colorschemes.gruvbox = {
|
||||
enable = true;
|
||||
settings = {
|
||||
bold = true;
|
||||
transparent_mode = true;
|
||||
terminal_colors = true;
|
||||
};
|
||||
config = {
|
||||
withRuby = false;
|
||||
globals.mapleader = " ";
|
||||
# Appearance
|
||||
colorschemes.gruvbox = {
|
||||
enable = true;
|
||||
settings = {
|
||||
bold = true;
|
||||
transparent_mode = true;
|
||||
terminal_colors = true;
|
||||
};
|
||||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
colorcolumn = "+1";
|
||||
cursorline = true;
|
||||
wrap = false;
|
||||
splitright = true;
|
||||
# Tabs & indentation
|
||||
smarttab = true;
|
||||
autoindent = true;
|
||||
smartindent = true;
|
||||
# Search path
|
||||
path = ".,/usr/include,**";
|
||||
wildmenu = true;
|
||||
hlsearch = true;
|
||||
incsearch = true;
|
||||
ignorecase = true; # Search ignores cases
|
||||
smartcase = true; # Unless it has a capital letter
|
||||
# Enable local configuration :h 'exrc'
|
||||
exrc = true; # safe since nvim 0.9
|
||||
};
|
||||
extraPlugins = [
|
||||
};
|
||||
clipboard.providers.wl-copy.enable = true;
|
||||
opts = {
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
colorcolumn = "+1";
|
||||
cursorline = true;
|
||||
wrap = false;
|
||||
splitright = true;
|
||||
# Tabs & indentation
|
||||
smarttab = true;
|
||||
autoindent = true;
|
||||
smartindent = true;
|
||||
# Search path
|
||||
path = ".,/usr/include,**";
|
||||
wildmenu = true;
|
||||
hlsearch = true;
|
||||
incsearch = true;
|
||||
ignorecase = true; # Search ignores cases
|
||||
smartcase = true; # Unless it has a capital letter
|
||||
# Enable local configuration :h 'exrc'
|
||||
exrc = true; # safe since nvim 0.9
|
||||
};
|
||||
extraPlugins =
|
||||
let
|
||||
plugins = pkgs.vimPlugins;
|
||||
extraPlugins = import ./extraPlugins { inherit pkgs; };
|
||||
in
|
||||
[
|
||||
plugins.nui-nvim
|
||||
plugins.nvim-web-devicons
|
||||
plugins.vim-jjdescription # FIXME: included since neovim nightly
|
||||
plugins.vim-jjdescription
|
||||
extraPlugins.nvim-silicon
|
||||
];
|
||||
extraPackages = [ pkgs.luajitPackages.jsregexp ];
|
||||
extraConfigLuaPre =
|
||||
# lua
|
||||
''
|
||||
-- Lua Pre Config
|
||||
if vim.fn.has 'termguicolors' then
|
||||
-- Enable RGB colors
|
||||
vim.g.termguicolors = true
|
||||
end
|
||||
# Formatting & linters
|
||||
extraPackages = [
|
||||
pkgs.luajitPackages.jsregexp
|
||||
pkgs.silicon
|
||||
];
|
||||
extraConfigLuaPre =
|
||||
# lua
|
||||
''
|
||||
-- Lua Pre Config
|
||||
if vim.fn.has 'termguicolors' then
|
||||
-- Enable RGB colors
|
||||
vim.g.termguicolors = true
|
||||
end
|
||||
|
||||
-- Useful function
|
||||
local has_words_before = function()
|
||||
-- unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0
|
||||
and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match '%s' == nil
|
||||
end
|
||||
-- END: Lua Pre Config
|
||||
'';
|
||||
}
|
||||
# Big packages that are kinda unnecessary
|
||||
(lib.mkIf (!cfg.reduceSize) {
|
||||
extraPlugins = [ extraPlugins.nvim-silicon ];
|
||||
extraPackages = [ pkgs.silicon ];
|
||||
extraConfigLua =
|
||||
# lua
|
||||
''
|
||||
-- Lua Config
|
||||
require("nvim-silicon").setup {
|
||||
theme = "gruvbox-dark",
|
||||
pad_horiz = 16,
|
||||
pad_vert = 16,
|
||||
-- Current buffer name
|
||||
window_title = function()
|
||||
return vim.fn.fnamemodify(
|
||||
vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf()),
|
||||
":t"
|
||||
)
|
||||
end,
|
||||
}
|
||||
-- END: Lua Config
|
||||
'';
|
||||
})
|
||||
];
|
||||
-- Useful function
|
||||
local has_words_before = function()
|
||||
-- unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0
|
||||
and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match '%s' == nil
|
||||
end
|
||||
-- END: Lua Pre Config
|
||||
'';
|
||||
extraConfigLua =
|
||||
# lua
|
||||
''
|
||||
-- Lua Config
|
||||
require("nvim-silicon").setup {
|
||||
theme = "gruvbox-dark",
|
||||
pad_horiz = 16,
|
||||
pad_vert = 16,
|
||||
-- Current buffer name
|
||||
window_title = function()
|
||||
return vim.fn.fnamemodify(
|
||||
vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf()),
|
||||
":t"
|
||||
)
|
||||
end,
|
||||
}
|
||||
-- END: Lua Config
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
28
scripts/audiomenu/Cargo.lock
generated
28
scripts/audiomenu/Cargo.lock
generated
|
@ -116,9 +116,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.30"
|
||||
version = "4.5.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "92b7b18d71fad5313a1e320fa9897994228ce274b60faa4d694fe0ea89cd9e6d"
|
||||
checksum = "8acebd8ad879283633b343856142139f2da2317c96b05b4dd6181c61e2480184"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
|
@ -126,9 +126,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.30"
|
||||
version = "4.5.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a35db2071778a7344791a4fb4f95308b5673d219dee3ae348b86642574ecc90c"
|
||||
checksum = "f6ba32cbda51c7e1dfd49acc1457ba1a7dec5b64fe360e828acb13ca8dc9c2f9"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
|
@ -263,9 +263,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.8.5"
|
||||
version = "0.8.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
|
||||
checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b"
|
||||
dependencies = [
|
||||
"adler2",
|
||||
]
|
||||
|
@ -346,18 +346,18 @@ checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.218"
|
||||
version = "1.0.217"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60"
|
||||
checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.218"
|
||||
version = "1.0.217"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b"
|
||||
checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -366,9 +366,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.139"
|
||||
version = "1.0.138"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6"
|
||||
checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
|
@ -466,9 +466,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.17"
|
||||
version = "1.0.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
|
||||
checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-linebreak"
|
||||
|
|
28
scripts/jpassmenu/Cargo.lock
generated
28
scripts/jpassmenu/Cargo.lock
generated
|
@ -124,9 +124,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.30"
|
||||
version = "4.5.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "92b7b18d71fad5313a1e320fa9897994228ce274b60faa4d694fe0ea89cd9e6d"
|
||||
checksum = "8acebd8ad879283633b343856142139f2da2317c96b05b4dd6181c61e2480184"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
|
@ -134,9 +134,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.30"
|
||||
version = "4.5.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a35db2071778a7344791a4fb4f95308b5673d219dee3ae348b86642574ecc90c"
|
||||
checksum = "f6ba32cbda51c7e1dfd49acc1457ba1a7dec5b64fe360e828acb13ca8dc9c2f9"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
|
@ -323,9 +323,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
|
|||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.26"
|
||||
version = "0.4.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e"
|
||||
checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
|
@ -366,9 +366,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.8.5"
|
||||
version = "0.8.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
|
||||
checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b"
|
||||
dependencies = [
|
||||
"adler2",
|
||||
]
|
||||
|
@ -481,18 +481,18 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.218"
|
||||
version = "1.0.217"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60"
|
||||
checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.218"
|
||||
version = "1.0.217"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b"
|
||||
checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -589,9 +589,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.17"
|
||||
version = "1.0.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
|
||||
checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-linebreak"
|
||||
|
|
|
@ -45,14 +45,9 @@ in
|
|||
fonts.fontDir.enable = true;
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
sway = {
|
||||
enable = cfg.sway;
|
||||
# No extra packages (by default it adds foot, dmenu, and other stuff)
|
||||
extraPackages = [ ];
|
||||
wrapperFeatures = {
|
||||
base = true;
|
||||
gtk = true;
|
||||
};
|
||||
niri = {
|
||||
enable = cfg.windowManager;
|
||||
package = pkgs.niri; # use nixpkgs' package instead of the flake's
|
||||
};
|
||||
};
|
||||
security = {
|
||||
|
|
|
@ -37,7 +37,7 @@ let
|
|||
options.autoStart = mkDisableOption "autostarting ydotool at login";
|
||||
};
|
||||
};
|
||||
sway = mkDisableOption "sway";
|
||||
windowManager = mkDisableOption "window manager";
|
||||
};
|
||||
|
||||
styling.options = {
|
||||
|
|
Loading…
Add table
Reference in a new issue