Compare commits
10 commits
fff25b9905
...
4ef6c24751
Author | SHA1 | Date | |
---|---|---|---|
4ef6c24751 |
|||
ee58fd0628 |
|||
087e9a3d4f |
|||
d89347da32 |
|||
c11fac7e01 |
|||
db01784a8b |
|||
57612c66fe | |||
559ccacb10 | |||
1c662fcce6 | |||
288289d6ce |
10 changed files with 167 additions and 44 deletions
90
flake.lock
generated
90
flake.lock
generated
|
@ -189,6 +189,39 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakey-profile": {
|
||||
"locked": {
|
||||
"lastModified": 1712898590,
|
||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -604,6 +637,41 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1737234286,
|
||||
"narHash": "sha256-pgDJZjj4jpzkFxsqBTI/9Yb0n3gW+DvDtuv9SwQZZcs=",
|
||||
"rev": "079528098f5998ba13c88821a2eca1005c1695de",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/079528098f5998ba13c88821a2eca1005c1695de.tar.gz?rev=079528098f5998ba13c88821a2eca1005c1695de"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/release-2.92.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": "lix",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742943028,
|
||||
"narHash": "sha256-fprwZKE1uMzO9tiWWOrmLWBW3GPkMayQfb0xOvVFIno=",
|
||||
"rev": "868d97695bab9d21f6070b03957bcace249fbe3c",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/868d97695bab9d21f6070b03957bcace249fbe3c.tar.gz?rev=868d97695bab9d21f6070b03957bcace249fbe3c"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpak": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
|
@ -765,10 +833,11 @@
|
|||
"hyprland": "hyprland",
|
||||
"impermanence": "impermanence",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"lix-module": "lix-module",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"quickshell": "quickshell",
|
||||
"schizofox": "schizofox",
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_4"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
|
@ -821,7 +890,7 @@
|
|||
"nixpak": "nixpak",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"searx-randomizer": "searx-randomizer",
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744892989,
|
||||
|
@ -876,6 +945,21 @@
|
|||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
|
@ -890,7 +974,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
|
|
35
flake.nix
35
flake.nix
|
@ -13,21 +13,23 @@
|
|||
})
|
||||
pkgsFor;
|
||||
|
||||
formatter.x86_64-linux = inputs.nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
||||
formatter = eachSystem (system: pkgsFor.${system}.alejandra);
|
||||
|
||||
packages = eachSystem (
|
||||
system: {
|
||||
inherit
|
||||
(import ./packages rec {
|
||||
pkgs = pkgsFor.${system};
|
||||
helix = inputs.helix.packages.${pkgs.system}.default;
|
||||
})
|
||||
fish
|
||||
wrapped-helix
|
||||
kakoune
|
||||
;
|
||||
}
|
||||
);
|
||||
packages =
|
||||
lib.mapAttrs (
|
||||
system: pkgs: {
|
||||
inherit
|
||||
(import ./packages {
|
||||
inherit pkgs;
|
||||
helix = inputs.helix.packages.${system}.default;
|
||||
})
|
||||
fish
|
||||
wrapped-helix
|
||||
kakoune
|
||||
;
|
||||
}
|
||||
)
|
||||
pkgsFor;
|
||||
|
||||
apps = eachSystem (system: let
|
||||
inherit (inputs.self.packages.${system}) fish wrapped-helix;
|
||||
|
@ -72,5 +74,10 @@
|
|||
# Mismatched system dependencies will lead to crashes and other issues.
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
lix-module = {
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ in {
|
|||
udisks2.enable = true;
|
||||
};
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
virtualisation.docker.enable = false;
|
||||
|
||||
meta = {
|
||||
mainUser.gitSigningKey = "";
|
||||
|
|
|
@ -43,7 +43,6 @@ in {
|
|||
logiops
|
||||
mpv
|
||||
nautilus
|
||||
nextcloud-client
|
||||
nheko
|
||||
nicotine-plus
|
||||
obsidian
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
locked-title = "no";
|
||||
|
||||
font = "Iosevka Nerd Font:size=14";
|
||||
font-bold = "Iosevka Nerd Font:size=14";
|
||||
font-bold = "Iosevka Nerd Font:size=14:style=Bold";
|
||||
|
||||
line-height = 20;
|
||||
letter-spacing = 0;
|
||||
|
|
|
@ -30,19 +30,19 @@ in {
|
|||
# User = "cr";
|
||||
# Group = "cr";
|
||||
|
||||
Keyringmode = "shared";
|
||||
DevicePolicy = "closed";
|
||||
PrivateDevices = true;
|
||||
PrivateTmp = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectControlGroup = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
# Keyringmode = "shared";
|
||||
# DevicePolicy = "closed";
|
||||
# PrivateDevices = true;
|
||||
# PrivateTmp = true;
|
||||
# ProtectClock = true;
|
||||
# ProtectControlGroups = true;
|
||||
# ProtectControlGroup = true;
|
||||
# ProtectKernelLogs = true;
|
||||
# ProtectKernelModules = true;
|
||||
# ProtectKernelTunables = true;
|
||||
|
||||
ProtectSystem = "strict";
|
||||
SystemCallFilter = "~@clock @cpu-emulation @debug @obsolete @module @mount @raw-io @reboot @swap @privileged";
|
||||
# ProtectSystem = "strict";
|
||||
# SystemCallFilter = "~@clock @cpu-emulation @debug @obsolete @module @mount @raw-io @reboot @swap @privileged";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -12,10 +12,11 @@ in {
|
|||
imports = [
|
||||
./documentation.nix # nixos documentation
|
||||
./nixpkgs.nix # global nixpkgs configuration
|
||||
inputs.lix-module.nixosModules.default
|
||||
];
|
||||
|
||||
nix = {
|
||||
package = pkgs.lix;
|
||||
# package = pkgs.lix;
|
||||
|
||||
# fuck channels, no thanks
|
||||
channel.enable = mkForce false;
|
||||
|
@ -98,6 +99,7 @@ in {
|
|||
"nix-command" # experimental nix commands
|
||||
"cgroups" # allow nix to execute builds inside cgroups
|
||||
"repl-flake" # nh os repl needs this on lix
|
||||
"pipe-operator"
|
||||
];
|
||||
|
||||
# Ensures that the result of Nix expressions is fully determined by
|
||||
|
|
|
@ -31,7 +31,7 @@ in {
|
|||
"$mainMod, RETURN, exec, foot"
|
||||
"$mainMod, Q, killactive"
|
||||
"$mainMod, F, fullscreen, 0"
|
||||
"$mainMod, D, exec, ${pkgs.procps}/bin/pkill fuzzel || ${getExe pkgs.fuzzel}"
|
||||
"$mainMod, D, exec, ${getExe' inputs.quickshell.packages.${pkgs.stdenv.system}.default "quickshell"} msg launcher open"
|
||||
"$mainMod, SPACE, togglefloating, active"
|
||||
"$mainMod ALT, L, exec, ${getExe pkgs.hyprlock}"
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ _: {
|
|||
rounding = 10;
|
||||
rounding_power = 3;
|
||||
blur = {
|
||||
enabled = false;
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 2;
|
||||
};
|
||||
|
@ -19,13 +19,13 @@ _: {
|
|||
animations = {
|
||||
enabled = true;
|
||||
};
|
||||
animation = [
|
||||
"windows, 1, 4, dupa, popin"
|
||||
"windowsOut, 1, 4, dupa, slide"
|
||||
"border, 1, 15, default"
|
||||
"fade, 1, 10, default"
|
||||
"workspaces, 1, 5, dupa, slidevert"
|
||||
];
|
||||
animation = [
|
||||
"windows, 1, 4, dupa, popin"
|
||||
"windowsOut, 1, 4, dupa, slide"
|
||||
"border, 1, 15, default"
|
||||
"fade, 1, 10, default"
|
||||
"workspaces, 1, 5, dupa, slidevert"
|
||||
];
|
||||
|
||||
cursor = {
|
||||
hide_on_key_press = true;
|
||||
|
@ -59,5 +59,11 @@ _: {
|
|||
"center, class: ^(code), title: ^(Open*)"
|
||||
"float, class:^(org.keepassxc.KeePassXC)$"
|
||||
];
|
||||
|
||||
layerrule = [
|
||||
"blur, shell:launcher"
|
||||
"ignorezero, shell:launcher"
|
||||
"animation popin 90%, shell:launcher"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
tinymist,
|
||||
typescript-language-server,
|
||||
vscode-langservers-extracted,
|
||||
simple-completion-language-server,
|
||||
helix,
|
||||
...
|
||||
}: let
|
||||
|
@ -136,6 +137,12 @@
|
|||
auto-format = true;
|
||||
language-servers = ["dprint" "typescript-language-server"];
|
||||
}
|
||||
{
|
||||
name = "jjdescription";
|
||||
scope = "source.jjdescription";
|
||||
file-types = ["jjdescription"];
|
||||
language-servers = ["scls"];
|
||||
}
|
||||
{
|
||||
name = "json";
|
||||
formatter = mark "json";
|
||||
|
@ -144,10 +151,11 @@
|
|||
name = "markdown";
|
||||
auto-format = true;
|
||||
formatter = mark "md";
|
||||
language-servers = ["scls" "marksman"];
|
||||
}
|
||||
{
|
||||
name = "nix";
|
||||
language-servers = ["nil"];
|
||||
language-servers = ["nil" "scls"];
|
||||
}
|
||||
{
|
||||
name = "qml";
|
||||
|
@ -208,7 +216,10 @@
|
|||
|
||||
rust-analyzer = {
|
||||
config = {
|
||||
check.command = "clippy";
|
||||
check = {
|
||||
command = "clippy";
|
||||
extraArgs = ["--" "-W" "clippy::pedantic" "-W" "clippy::nursery" "-W" "clippy::perf"];
|
||||
};
|
||||
cargo.features = "all";
|
||||
};
|
||||
};
|
||||
|
@ -255,6 +266,20 @@
|
|||
config.nil.formatting.command = ["${getExe alejandra}" "-q"];
|
||||
};
|
||||
|
||||
scls = {
|
||||
command = getExe simple-completion-language-server;
|
||||
config = {
|
||||
max_completion_items = 100; # set max completion results len for each group: words, snippets, unicode-input
|
||||
feature_words = true; # enable completion by word
|
||||
feature_snippets = true; # enable snippets
|
||||
snippets_first = true; # completions will return before snippets by default
|
||||
snippets_inline_by_word_tail = false; # suggest snippets by WORD tail, for example text `xsq|` become `x^2|` when snippet `sq` has body `^2`
|
||||
feature_unicode_input = false; # enable "unicode input"
|
||||
feature_paths = false; # enable path completion
|
||||
feature_citations = false; # enable citation completion (only on `citation` feature enabled)
|
||||
};
|
||||
};
|
||||
|
||||
typescript-language-server = {
|
||||
command = lib.getExe typescript-language-server;
|
||||
args = ["--stdio"];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue