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"
|
"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": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -604,6 +637,41 @@
|
||||||
"type": "github"
|
"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": {
|
"nixpak": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": [
|
||||||
|
@ -765,10 +833,11 @@
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
|
"lix-module": "lix-module",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"quickshell": "quickshell",
|
"quickshell": "quickshell",
|
||||||
"schizofox": "schizofox",
|
"schizofox": "schizofox",
|
||||||
"systems": "systems_3"
|
"systems": "systems_4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
|
@ -821,7 +890,7 @@
|
||||||
"nixpak": "nixpak",
|
"nixpak": "nixpak",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"searx-randomizer": "searx-randomizer",
|
"searx-randomizer": "searx-randomizer",
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744892989,
|
"lastModified": 1744892989,
|
||||||
|
@ -876,6 +945,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"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": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
@ -890,7 +974,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_3": {
|
"systems_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
|
35
flake.nix
35
flake.nix
|
@ -13,21 +13,23 @@
|
||||||
})
|
})
|
||||||
pkgsFor;
|
pkgsFor;
|
||||||
|
|
||||||
formatter.x86_64-linux = inputs.nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
formatter = eachSystem (system: pkgsFor.${system}.alejandra);
|
||||||
|
|
||||||
packages = eachSystem (
|
packages =
|
||||||
system: {
|
lib.mapAttrs (
|
||||||
inherit
|
system: pkgs: {
|
||||||
(import ./packages rec {
|
inherit
|
||||||
pkgs = pkgsFor.${system};
|
(import ./packages {
|
||||||
helix = inputs.helix.packages.${pkgs.system}.default;
|
inherit pkgs;
|
||||||
})
|
helix = inputs.helix.packages.${system}.default;
|
||||||
fish
|
})
|
||||||
wrapped-helix
|
fish
|
||||||
kakoune
|
wrapped-helix
|
||||||
;
|
kakoune
|
||||||
}
|
;
|
||||||
);
|
}
|
||||||
|
)
|
||||||
|
pkgsFor;
|
||||||
|
|
||||||
apps = eachSystem (system: let
|
apps = eachSystem (system: let
|
||||||
inherit (inputs.self.packages.${system}) fish wrapped-helix;
|
inherit (inputs.self.packages.${system}) fish wrapped-helix;
|
||||||
|
@ -72,5 +74,10 @@
|
||||||
# Mismatched system dependencies will lead to crashes and other issues.
|
# Mismatched system dependencies will lead to crashes and other issues.
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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;
|
udisks2.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = false;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
mainUser.gitSigningKey = "";
|
mainUser.gitSigningKey = "";
|
||||||
|
|
|
@ -43,7 +43,6 @@ in {
|
||||||
logiops
|
logiops
|
||||||
mpv
|
mpv
|
||||||
nautilus
|
nautilus
|
||||||
nextcloud-client
|
|
||||||
nheko
|
nheko
|
||||||
nicotine-plus
|
nicotine-plus
|
||||||
obsidian
|
obsidian
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
locked-title = "no";
|
locked-title = "no";
|
||||||
|
|
||||||
font = "Iosevka Nerd Font:size=14";
|
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;
|
line-height = 20;
|
||||||
letter-spacing = 0;
|
letter-spacing = 0;
|
||||||
|
|
|
@ -30,19 +30,19 @@ in {
|
||||||
# User = "cr";
|
# User = "cr";
|
||||||
# Group = "cr";
|
# Group = "cr";
|
||||||
|
|
||||||
Keyringmode = "shared";
|
# Keyringmode = "shared";
|
||||||
DevicePolicy = "closed";
|
# DevicePolicy = "closed";
|
||||||
PrivateDevices = true;
|
# PrivateDevices = true;
|
||||||
PrivateTmp = true;
|
# PrivateTmp = true;
|
||||||
ProtectClock = true;
|
# ProtectClock = true;
|
||||||
ProtectControlGroups = true;
|
# ProtectControlGroups = true;
|
||||||
ProtectControlGroup = true;
|
# ProtectControlGroup = true;
|
||||||
ProtectKernelLogs = true;
|
# ProtectKernelLogs = true;
|
||||||
ProtectKernelModules = true;
|
# ProtectKernelModules = true;
|
||||||
ProtectKernelTunables = true;
|
# ProtectKernelTunables = true;
|
||||||
|
|
||||||
ProtectSystem = "strict";
|
# ProtectSystem = "strict";
|
||||||
SystemCallFilter = "~@clock @cpu-emulation @debug @obsolete @module @mount @raw-io @reboot @swap @privileged";
|
# SystemCallFilter = "~@clock @cpu-emulation @debug @obsolete @module @mount @raw-io @reboot @swap @privileged";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,10 +12,11 @@ in {
|
||||||
imports = [
|
imports = [
|
||||||
./documentation.nix # nixos documentation
|
./documentation.nix # nixos documentation
|
||||||
./nixpkgs.nix # global nixpkgs configuration
|
./nixpkgs.nix # global nixpkgs configuration
|
||||||
|
inputs.lix-module.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.lix;
|
# package = pkgs.lix;
|
||||||
|
|
||||||
# fuck channels, no thanks
|
# fuck channels, no thanks
|
||||||
channel.enable = mkForce false;
|
channel.enable = mkForce false;
|
||||||
|
@ -98,6 +99,7 @@ in {
|
||||||
"nix-command" # experimental nix commands
|
"nix-command" # experimental nix commands
|
||||||
"cgroups" # allow nix to execute builds inside cgroups
|
"cgroups" # allow nix to execute builds inside cgroups
|
||||||
"repl-flake" # nh os repl needs this on lix
|
"repl-flake" # nh os repl needs this on lix
|
||||||
|
"pipe-operator"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Ensures that the result of Nix expressions is fully determined by
|
# Ensures that the result of Nix expressions is fully determined by
|
||||||
|
|
|
@ -31,7 +31,7 @@ in {
|
||||||
"$mainMod, RETURN, exec, foot"
|
"$mainMod, RETURN, exec, foot"
|
||||||
"$mainMod, Q, killactive"
|
"$mainMod, Q, killactive"
|
||||||
"$mainMod, F, fullscreen, 0"
|
"$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, SPACE, togglefloating, active"
|
||||||
"$mainMod ALT, L, exec, ${getExe pkgs.hyprlock}"
|
"$mainMod ALT, L, exec, ${getExe pkgs.hyprlock}"
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ _: {
|
||||||
rounding = 10;
|
rounding = 10;
|
||||||
rounding_power = 3;
|
rounding_power = 3;
|
||||||
blur = {
|
blur = {
|
||||||
enabled = false;
|
enabled = true;
|
||||||
size = 3;
|
size = 3;
|
||||||
passes = 2;
|
passes = 2;
|
||||||
};
|
};
|
||||||
|
@ -19,13 +19,13 @@ _: {
|
||||||
animations = {
|
animations = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
};
|
};
|
||||||
animation = [
|
animation = [
|
||||||
"windows, 1, 4, dupa, popin"
|
"windows, 1, 4, dupa, popin"
|
||||||
"windowsOut, 1, 4, dupa, slide"
|
"windowsOut, 1, 4, dupa, slide"
|
||||||
"border, 1, 15, default"
|
"border, 1, 15, default"
|
||||||
"fade, 1, 10, default"
|
"fade, 1, 10, default"
|
||||||
"workspaces, 1, 5, dupa, slidevert"
|
"workspaces, 1, 5, dupa, slidevert"
|
||||||
];
|
];
|
||||||
|
|
||||||
cursor = {
|
cursor = {
|
||||||
hide_on_key_press = true;
|
hide_on_key_press = true;
|
||||||
|
@ -59,5 +59,11 @@ _: {
|
||||||
"center, class: ^(code), title: ^(Open*)"
|
"center, class: ^(code), title: ^(Open*)"
|
||||||
"float, class:^(org.keepassxc.KeePassXC)$"
|
"float, class:^(org.keepassxc.KeePassXC)$"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
layerrule = [
|
||||||
|
"blur, shell:launcher"
|
||||||
|
"ignorezero, shell:launcher"
|
||||||
|
"animation popin 90%, shell:launcher"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
tinymist,
|
tinymist,
|
||||||
typescript-language-server,
|
typescript-language-server,
|
||||||
vscode-langservers-extracted,
|
vscode-langservers-extracted,
|
||||||
|
simple-completion-language-server,
|
||||||
helix,
|
helix,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
|
@ -136,6 +137,12 @@
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
language-servers = ["dprint" "typescript-language-server"];
|
language-servers = ["dprint" "typescript-language-server"];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "jjdescription";
|
||||||
|
scope = "source.jjdescription";
|
||||||
|
file-types = ["jjdescription"];
|
||||||
|
language-servers = ["scls"];
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "json";
|
name = "json";
|
||||||
formatter = mark "json";
|
formatter = mark "json";
|
||||||
|
@ -144,10 +151,11 @@
|
||||||
name = "markdown";
|
name = "markdown";
|
||||||
auto-format = true;
|
auto-format = true;
|
||||||
formatter = mark "md";
|
formatter = mark "md";
|
||||||
|
language-servers = ["scls" "marksman"];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "nix";
|
name = "nix";
|
||||||
language-servers = ["nil"];
|
language-servers = ["nil" "scls"];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "qml";
|
name = "qml";
|
||||||
|
@ -208,7 +216,10 @@
|
||||||
|
|
||||||
rust-analyzer = {
|
rust-analyzer = {
|
||||||
config = {
|
config = {
|
||||||
check.command = "clippy";
|
check = {
|
||||||
|
command = "clippy";
|
||||||
|
extraArgs = ["--" "-W" "clippy::pedantic" "-W" "clippy::nursery" "-W" "clippy::perf"];
|
||||||
|
};
|
||||||
cargo.features = "all";
|
cargo.features = "all";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -255,6 +266,20 @@
|
||||||
config.nil.formatting.command = ["${getExe alejandra}" "-q"];
|
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 = {
|
typescript-language-server = {
|
||||||
command = lib.getExe typescript-language-server;
|
command = lib.getExe typescript-language-server;
|
||||||
args = ["--stdio"];
|
args = ["--stdio"];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue