Compare commits
6 Commits
0c28f1e978
...
a4e5add644
Author | SHA1 | Date | |
---|---|---|---|
a4e5add644
|
|||
cc31b858f7
|
|||
e669331366
|
|||
453fda9a36
|
|||
e2f6ed72ed
|
|||
8a4af44494
|
@ -58,6 +58,7 @@ in {
|
||||
ripgrep.enable = true; # grep in rust
|
||||
zk.enable = true;
|
||||
zoxide.enable = true; # fuzzy cd in rust
|
||||
zellij.enable = true;
|
||||
};
|
||||
|
||||
home.packages = with pkgs;
|
||||
|
@ -19,7 +19,6 @@
|
||||
hostName = "morphius";
|
||||
};
|
||||
|
||||
boot.loader.timeout = lib.mkForce 0;
|
||||
environment.memoryAllocator.provider = "mimalloc";
|
||||
system.stateVersion = "25.11";
|
||||
time.timeZone = "Europe/Kyiv";
|
||||
|
@ -171,8 +171,8 @@ in {
|
||||
}
|
||||
|
||||
background-color "transparent"
|
||||
// default-column-width { proportion 0.9; }
|
||||
default-column-width { proportion 0.5; }
|
||||
default-column-width { proportion 1.0; }
|
||||
// default-column-width { proportion 0.5; }
|
||||
tab-indicator {
|
||||
active-color "#${colors.base04}"
|
||||
inactive-color "#${colors.base03}"
|
||||
@ -247,7 +247,8 @@ in {
|
||||
screenshot-path "${xdgPics}/screenshots/screenshot-%Y-%m-%d-%H-%M-%S.png"
|
||||
|
||||
animations {
|
||||
slowdown 0.8
|
||||
// slowdown 0.8
|
||||
off
|
||||
}
|
||||
|
||||
window-rule {
|
||||
@ -262,6 +263,7 @@ in {
|
||||
}
|
||||
window-rule {
|
||||
match app-id="re.sonny.Junction"
|
||||
match app-id="com.github.hluk.copyq"
|
||||
open-floating true
|
||||
open-focused true
|
||||
}
|
||||
@ -319,7 +321,7 @@ in {
|
||||
Mod+BackSpace repeat=false { spawn "${launcher}"; }
|
||||
Mod+A repeat=false { spawn "${launcher}"; }
|
||||
Mod+Ctrl+L repeat=false { spawn "${lockscreen}"; }
|
||||
Mod+Ctrl+V repeat=false { spawn "copyq" "toggle"; }
|
||||
Mod+Ctrl+V repeat=false { spawn "copyq" "menu"; }
|
||||
|
||||
Mod+Shift+W repeat=false { spawn "walker" "-m" "windows"; }
|
||||
|
||||
|
@ -62,44 +62,57 @@ in {
|
||||
};
|
||||
languages = {
|
||||
language-server = {
|
||||
clangd.command = "${pkgs.clang-tools}/bin/clangd";
|
||||
# markdown-oxide.command = getExe pkgs.markdown-oxide;
|
||||
nil.command = getExe pkgs.nil;
|
||||
# nixd.command = getExe pkgs.nixd;
|
||||
# pyright.command = getExe pkgs.pyright;
|
||||
# pyright.args = ["-"];
|
||||
ruff.command = getExe pkgs.ruff;
|
||||
ruff.args = ["server"];
|
||||
# pyright = {
|
||||
# command = getExe pkgs.pyright;
|
||||
# args = ["-"];
|
||||
# };
|
||||
# rust-analyzer.command = getExe pkgs.rust-analyzer;
|
||||
# texlab.command = getExe pkgs.texlab;
|
||||
bash-language-server = {
|
||||
command = getExe pkgs.bash-language-server;
|
||||
environment = {
|
||||
"SHELLCHECK_PATH" = getExe pkgs.shellcheck;
|
||||
"SHFMT_PATH" = getExe pkgs.shfmt;
|
||||
};
|
||||
};
|
||||
clangd.command = "${pkgs.clang-tools}/bin/clangd";
|
||||
fsac = {
|
||||
command = getExe pkgs.fsautocomplete;
|
||||
config = {
|
||||
# editor.formatOnSave = true;
|
||||
AutomaticWorkspaceInit = true;
|
||||
FSharp.ExternalAutocomplete = true;
|
||||
FSharp.linting.fsharplint.enabled = true;
|
||||
FSharp.linting.fsharplint.configFile = "fsharplint.json";
|
||||
FSharp.formatting.fantomas.enabled = true;
|
||||
};
|
||||
};
|
||||
nil = {
|
||||
command = getExe pkgs.nil;
|
||||
config = {
|
||||
formatting.command = [(getExe pkgs.alejandra)];
|
||||
};
|
||||
};
|
||||
ruff = {
|
||||
command = getExe pkgs.ruff;
|
||||
args = ["server"];
|
||||
};
|
||||
tinymist.command = getExe pkgs.tinymist;
|
||||
vscode-json-language-server.command = getExe pkgs.nodePackages.vscode-json-languageserver;
|
||||
yaml-language-server.command = getExe pkgs.yaml-language-server;
|
||||
zk = {
|
||||
command = getExe pkgs.zk;
|
||||
args = ["lsp"];
|
||||
};
|
||||
fsac.command = getExe pkgs.fsautocomplete;
|
||||
fsac.config = {
|
||||
# editor.formatOnSave = true;
|
||||
AutomaticWorkspaceInit = true;
|
||||
FSharp.ExternalAutocomplete = true;
|
||||
FSharp.linting.fsharplint.enabled = true;
|
||||
FSharp.linting.fsharplint.configFile = "fsharplint.json";
|
||||
FSharp.formatting.fantomas.enabled = true;
|
||||
};
|
||||
};
|
||||
language = [
|
||||
{
|
||||
name = "nix";
|
||||
auto-format = true;
|
||||
formatter.command = getExe pkgs.alejandra;
|
||||
language-servers = ["nil"];
|
||||
}
|
||||
# {
|
||||
# name = "latex";
|
||||
# auto-format = true;
|
||||
# formatter.command = "${pkgs.texlivePackages.latexindent}/bin/latexindent";
|
||||
# language-servers = ["texlab"];
|
||||
# }
|
||||
{
|
||||
name = "typst";
|
||||
auto-format = true;
|
||||
@ -109,23 +122,21 @@ in {
|
||||
{
|
||||
name = "markdown";
|
||||
# auto-format = true;
|
||||
# formatter.command = "${pkgs.comrak}/bin/comrak";
|
||||
language-servers = ["zk" "markdown-oxide"];
|
||||
}
|
||||
{
|
||||
name = "c";
|
||||
auto-format = true;
|
||||
formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
||||
# formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
||||
}
|
||||
{
|
||||
name = "cpp";
|
||||
auto-format = true;
|
||||
formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
||||
# formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
||||
}
|
||||
{
|
||||
name = "fsharp";
|
||||
auto-format = true;
|
||||
# formatter.command = getExe pkgs.fantomas;
|
||||
language-servers = ["fsac"];
|
||||
scope = "source.fs";
|
||||
roots = ["fsproj" "sln" ".git"];
|
||||
@ -136,6 +147,25 @@ in {
|
||||
# language-servers = ["rust-analyzer"];
|
||||
# formatter.command = getExe pkgs.rustfmt;
|
||||
# }
|
||||
{
|
||||
name = "json";
|
||||
auto-format = true;
|
||||
formatter.command = getExe pkgs.jq;
|
||||
language-servers = ["vscode-json-language-server"];
|
||||
}
|
||||
{
|
||||
name = "yaml";
|
||||
auto-format = true;
|
||||
formatter.command = getExe pkgs.yamlfmt;
|
||||
formatter.args = ["-"];
|
||||
language-servers = ["yaml-language-server"];
|
||||
}
|
||||
{
|
||||
name = "bash";
|
||||
auto-format = true;
|
||||
# formatter.command = getExe pkgs.shfmt;
|
||||
# formatter.args = ["-"];
|
||||
}
|
||||
{
|
||||
name = "python";
|
||||
auto-format = true;
|
||||
|
@ -15,11 +15,11 @@ in {
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
extensions = [
|
||||
"nix"
|
||||
"bash"
|
||||
"fsharp"
|
||||
# "latex"
|
||||
"typst"
|
||||
"justfile"
|
||||
"nix"
|
||||
"typst"
|
||||
];
|
||||
userSettings = {
|
||||
vim_mode = true;
|
||||
@ -35,30 +35,29 @@ in {
|
||||
};
|
||||
"Nix" = {
|
||||
language-servers = [
|
||||
"!nil"
|
||||
"nixd"
|
||||
"nil"
|
||||
];
|
||||
formatter = {
|
||||
external.command = getExe pkgs.alejandra;
|
||||
};
|
||||
};
|
||||
"Rust" = {
|
||||
formatter = {
|
||||
external = {
|
||||
command = getExe pkgs.rustfmt;
|
||||
arguments = ["--edition" "2021"];
|
||||
};
|
||||
};
|
||||
# formatter = {
|
||||
# external.command = getExe pkgs.alejandra;
|
||||
# };
|
||||
};
|
||||
# "Rust" = {
|
||||
# formatter = {
|
||||
# external = {
|
||||
# command = getExe pkgs.rustfmt;
|
||||
# arguments = ["--edition" "2021"];
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
"typst" = {
|
||||
language-servers = ["tinymist"];
|
||||
format_on_save = "on";
|
||||
formatter = {
|
||||
external = {
|
||||
command = getExe pkgs.typstyle;
|
||||
arguments = ["-i" "{buffer_path}"];
|
||||
};
|
||||
};
|
||||
# formatter = {
|
||||
# external = {
|
||||
# command = getExe pkgs.typstyle;
|
||||
# arguments = ["-i" "{buffer_path}"];
|
||||
# };
|
||||
# };
|
||||
};
|
||||
"Python" = {
|
||||
format_on_save = "on";
|
||||
@ -73,6 +72,15 @@ in {
|
||||
};
|
||||
};
|
||||
lsp = {
|
||||
bash-language-server = {
|
||||
binary = {
|
||||
path = getExe pkgs.bash-language-server;
|
||||
env = {
|
||||
"SHELLCHECK_PATH" = getExe pkgs.shellcheck;
|
||||
"SHFMT_PATH" = getExe pkgs.shfmt;
|
||||
};
|
||||
};
|
||||
};
|
||||
fsautocomplete = {
|
||||
binary = {
|
||||
path = getExe pkgs.fsautocomplete;
|
||||
@ -91,32 +99,32 @@ in {
|
||||
path = "${pkgs.clang-tools}/bin/clangd";
|
||||
};
|
||||
};
|
||||
rust-analyzer = {
|
||||
binary = {
|
||||
arguments = [];
|
||||
path = getExe pkgs.rust-analyzer;
|
||||
};
|
||||
};
|
||||
# rust-analyzer = {
|
||||
# binary = {
|
||||
# arguments = [];
|
||||
# path = getExe pkgs.rust-analyzer;
|
||||
# };
|
||||
# };
|
||||
ruff = {
|
||||
binary = {
|
||||
arguments = [];
|
||||
path = getExe pkgs.ruff;
|
||||
};
|
||||
};
|
||||
nixd = {
|
||||
binary = {
|
||||
arguments = [];
|
||||
path = getExe pkgs.nixd;
|
||||
};
|
||||
initialization_options.formatting.command = [(getExe pkgs.alejandra)];
|
||||
};
|
||||
# nil = {
|
||||
# nixd = {
|
||||
# binary = {
|
||||
# arguments = [];
|
||||
# path = getExe pkgs.nil;
|
||||
# path = getExe pkgs.nixd;
|
||||
# };
|
||||
# initialization_options.formatting.command = [(getExe pkgs.alejandra)];
|
||||
# };
|
||||
nil = {
|
||||
binary = {
|
||||
arguments = [];
|
||||
path = getExe pkgs.nil;
|
||||
};
|
||||
settings.formatting.command = [(getExe pkgs.alejandra)];
|
||||
};
|
||||
# texlab = {
|
||||
# binary = {
|
||||
# arguments = [];
|
||||
@ -129,6 +137,16 @@ in {
|
||||
path = getExe pkgs.tinymist;
|
||||
};
|
||||
};
|
||||
vscode-json-language-server = {
|
||||
binary = {
|
||||
path = getExe pkgs.nodePackages.vscode-json-languageserver;
|
||||
};
|
||||
};
|
||||
yaml-language-server = {
|
||||
binary = {
|
||||
path = getExe pkgs.yaml-language-server;
|
||||
};
|
||||
};
|
||||
};
|
||||
telemetry = {
|
||||
diagnostics = false;
|
||||
|
@ -4,7 +4,7 @@
|
||||
...
|
||||
}: {
|
||||
boot.loader = {
|
||||
timeout = 3;
|
||||
timeout = 0;
|
||||
efi.canTouchEfiVariables = true;
|
||||
systemd-boot = {
|
||||
consoleMode = "auto";
|
||||
|
@ -11,23 +11,28 @@ in {
|
||||
desktop.niri.enable =
|
||||
mkEnableOption "enable niri desktop";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
module.desktop.displayManager = "greetd";
|
||||
module.desktop.gnome-keyring.enable = true;
|
||||
sound.pipewire.enable = true;
|
||||
config = lib.mkMerge [
|
||||
(mkIf cfg.enable {
|
||||
module.desktop.displayManager = "greetd";
|
||||
module.desktop.gnome-keyring.enable = true;
|
||||
sound.pipewire.enable = true;
|
||||
|
||||
security = {
|
||||
soteria.enable = true; # polkit agent in rust
|
||||
pam.services.gtklock = {};
|
||||
};
|
||||
programs.niri.enable = true; # wayland compositor in rust
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gnome
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
config.niri.default = ["gnome" "gtk"];
|
||||
};
|
||||
};
|
||||
security = {
|
||||
soteria.enable = true; # polkit agent in rust
|
||||
pam.services.gtklock = {};
|
||||
};
|
||||
programs.niri.enable = true; # wayland compositor in rust
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [xdg-desktop-portal-gnome xdg-desktop-portal-gtk];
|
||||
config.niri.default = ["gnome" "gtk"];
|
||||
};
|
||||
})
|
||||
(mkIf config.services.displayManager.autoLogin.enable {
|
||||
services.greetd.settings.initial_session = {
|
||||
command = "niri-session";
|
||||
user = config.services.displayManager.autoLogin.user;
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
Reference in New Issue
Block a user