Compare commits
11 commits
877ea04a6c
...
ee9ccdb234
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ee9ccdb234 | ||
![]() |
82f75ebcff | ||
![]() |
01057a2d17 | ||
![]() |
573b7cae24 | ||
![]() |
c0d43ca29e | ||
![]() |
54fcf5b413 | ||
![]() |
fa85c44299 | ||
![]() |
ccc0e53cda | ||
![]() |
80e65d5c34 | ||
![]() |
9e39f5c31e | ||
![]() |
6575d7b21e |
19 changed files with 540 additions and 164 deletions
45
default.nix
45
default.nix
|
@ -1,22 +1,47 @@
|
|||
let
|
||||
inherit (builtins) filter mapAttrs;
|
||||
inherit (builtins)
|
||||
filter
|
||||
fromJSON
|
||||
readFile
|
||||
;
|
||||
|
||||
# https://github.com/andir/npins?tab=readme-ov-file#using-the-nixpkgs-fetchers
|
||||
src = import ./npins;
|
||||
pkgs = import src.nixpkgs { };
|
||||
sources = mapAttrs (_: v: v { inherit pkgs; }) src;
|
||||
/*
|
||||
The *sole* use for the flake in this repository is easy locking
|
||||
of dependencies and inputs for nil, my lsp.
|
||||
I parse the flake.lock here, extract the Lix project's
|
||||
flake-compat, which features lazy store copies, aka lazy trees.
|
||||
|
||||
Using that, I can use Lix as my CppNix implementation
|
||||
AND have lazy trees for basically free.
|
||||
*/
|
||||
lockFile = fromJSON (readFile ./flake.lock);
|
||||
node = lockFile.nodes.root.inputs.__flake-compat;
|
||||
inherit (lockFile.nodes.${node}.locked) narHash rev url;
|
||||
|
||||
flake-compat = builtins.fetchTarball {
|
||||
url = "${url}/archive/${rev}.tar.gz";
|
||||
sha256 = narHash;
|
||||
};
|
||||
flake = import flake-compat {
|
||||
src = ./.;
|
||||
# Prevent eager store copies
|
||||
copySourceTreeToStore = false;
|
||||
useBuiltinsFetchTree = true;
|
||||
};
|
||||
inherit (flake) inputs;
|
||||
|
||||
pkgs = import inputs.nixpkgs { };
|
||||
inherit (pkgs) lib;
|
||||
inherit (lib.filesystem) listFilesRecursive;
|
||||
inherit (lib.strings) hasSuffix;
|
||||
inherit (lib.attrsets) genAttrs;
|
||||
|
||||
nixosSystem = import (sources.nixpkgs + "/nixos/lib/eval-config.nix");
|
||||
nixosSystem = import (inputs.nixpkgs.outPath + "/nixos/lib/eval-config.nix");
|
||||
mkSystem =
|
||||
hostname:
|
||||
nixosSystem {
|
||||
specialArgs = {
|
||||
inherit sources;
|
||||
inherit inputs;
|
||||
self = ./.;
|
||||
};
|
||||
modules = [
|
||||
|
@ -24,6 +49,12 @@ let
|
|||
./hosts/${hostname}
|
||||
]
|
||||
++ ((listFilesRecursive ./modules) |> filter (hasSuffix ".mod.nix"));
|
||||
lib = inputs.nixpkgs.lib.extend (
|
||||
final: prev: {
|
||||
getFlakePkg = p: p.packages.${builtins.currentSystem}.default;
|
||||
getFlakePkg' = p: n: p.packages.${builtins.currentSystem}.${n};
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
hosts = [
|
||||
|
|
272
flake.lock
generated
272
flake.lock
generated
|
@ -31,6 +31,29 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fenix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"niri-tag",
|
||||
"naersk",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752475459,
|
||||
"narHash": "sha256-z6QEu4ZFuHiqdOPbYss4/Q8B0BFhacR8ts6jO/F/aOU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "bf0d6f70f4c9a9cf8845f992105652173f4b617f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -224,6 +247,25 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk": {
|
||||
"inputs": {
|
||||
"fenix": "fenix",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752689277,
|
||||
"narHash": "sha256-uldUBFkZe/E7qbvxa3mH1ItrWZyT6w1dBKJQF/3ZSsc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "0e72363d0938b0208d6c646d10649164c43f4d64",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nh": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -264,6 +306,99 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"niri": {
|
||||
"inputs": {
|
||||
"niri-stable": "niri-stable",
|
||||
"niri-unstable": "niri-unstable",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756801989,
|
||||
"narHash": "sha256-eOIQ1CUMHwU4zsBGaCj9jCgNTxzyq2aeHuwgx0xLFwo=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "d6a98b86d86b512c6167601ea646ab785137bada",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"niri-stable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1756556321,
|
||||
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "YaLTeR",
|
||||
"ref": "v25.08",
|
||||
"repo": "niri",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"niri-tag": {
|
||||
"inputs": {
|
||||
"naersk": "naersk",
|
||||
"niri": "niri_2",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755582059,
|
||||
"narHash": "sha256-fDyhFfRazK2SvPQVGi6tcMTpOAu6CoUhZSyaaE2edtE=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "0c1a104cea3de07c3416edb0d16db324daf5f61f",
|
||||
"revCount": 37,
|
||||
"type": "git",
|
||||
"url": "https://git.atagen.co/atagen/niri-tag"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.atagen.co/atagen/niri-tag"
|
||||
}
|
||||
},
|
||||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1756728273,
|
||||
"narHash": "sha256-7tYNlNO/qVRA6shdWxNuBMYOE+pGgxqE0f54S4Wr9PE=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "77465e11fe36fdd9bc0a304b96bb2558116568af",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"niri_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1755539138,
|
||||
"narHash": "sha256-8LoWAwBqHFOM1Je3b+XCs6gM5LbJlMfZtSpJvTe3sQk=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "43a2648e579fc81366fc81b15f834c9c9dff119b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1755972213,
|
||||
|
@ -277,7 +412,71 @@
|
|||
"url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1756754095,
|
||||
"narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1756542300,
|
||||
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1752077645,
|
||||
"narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "be9e214982e20b8310878ac2baa063a961c1bdf6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1756696532,
|
||||
"narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 315532800,
|
||||
"narHash": "sha256-JaSDu+RYnaHrkMCcW95rc8pG9QjD7nzX+/VHleiPVxA=",
|
||||
|
@ -290,7 +489,7 @@
|
|||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1754214453,
|
||||
"narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=",
|
||||
|
@ -361,7 +560,9 @@
|
|||
"lanzaboote": "lanzaboote",
|
||||
"nh": "nh",
|
||||
"nil": "nil",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"niri": "niri",
|
||||
"niri-tag": "niri-tag",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"quickshell": "quickshell",
|
||||
"sops-nix": "sops-nix",
|
||||
"watt": "watt",
|
||||
|
@ -369,6 +570,23 @@
|
|||
"zen-browser-flake": "zen-browser-flake"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1752428706,
|
||||
"narHash": "sha256-EJcdxw3aXfP8Ex1Nm3s0awyH9egQvB2Gu+QEnJn2Sfg=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "591e3b7624be97e4443ea7b5542c191311aa141d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -485,6 +703,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"watt": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -505,10 +738,43 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xwayland-satellite-stable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1755491097,
|
||||
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Supreeeme",
|
||||
"ref": "v0.7",
|
||||
"repo": "xwayland-satellite",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xwayland-satellite-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1756679414,
|
||||
"narHash": "sha256-yQGJ/n6mRwoIQnaL5oV2TGOHg4SEHpINTaoHrvkjr1Q=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "c0497c990d46fcc012d9deff885bbe533e91e044",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zedless": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754831523,
|
||||
|
|
|
@ -60,6 +60,13 @@
|
|||
url = "git+https://git.lix.systems/lix-project/flake-compat.git";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
niri.url = "github:sodiboo/niri-flake";
|
||||
|
||||
niri-tag = {
|
||||
url = "git+https://git.atagen.co/atagen/niri-tag";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = _: { };
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
impala
|
||||
imv
|
||||
inetutils
|
||||
jujutsu
|
||||
just
|
||||
keepassxc
|
||||
lazygit
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
imv
|
||||
inetutils
|
||||
inshellisense
|
||||
jujutsu
|
||||
just
|
||||
keepassxc
|
||||
lazygit
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
img2pdf
|
||||
imv
|
||||
inetutils
|
||||
jujutsu
|
||||
just
|
||||
lazygit
|
||||
libtool
|
||||
|
|
|
@ -207,7 +207,8 @@ let menus = [
|
|||
only_buffer_difference: false
|
||||
marker: $"(ansi yellow)╋ "
|
||||
type: {
|
||||
layout: ide
|
||||
layout: columnar
|
||||
columns: 3
|
||||
min_completion_width: 0
|
||||
max_completion_width: 150
|
||||
max_completion_height: 25
|
||||
|
@ -272,17 +273,44 @@ if not ($env_vars_file | path exists) {
|
|||
| open $in
|
||||
| str trim
|
||||
| lines
|
||||
| str replace --all '$HOME' $env.HOME
|
||||
| str replace --all '$USER' $env.USER
|
||||
| parse 'export {name}="{value}"'
|
||||
| transpose --header-row --as-record
|
||||
| tee { load-env $in }
|
||||
| to nuon
|
||||
| save --force $env_vars_file
|
||||
} else {
|
||||
| save --force $env_vars_file} else {
|
||||
open $env_vars_file
|
||||
| from nuon
|
||||
| load-env $in
|
||||
}
|
||||
|
||||
|
||||
let converter = {
|
||||
from_string: {|s| $s | split row (char esep) | path expand --no-symlink }
|
||||
to_string: {|v| $v | path expand --no-symlink | str join (char esep) }
|
||||
}
|
||||
|
||||
let addition = [
|
||||
XDG_DATA_DIRS
|
||||
XDG_CONFIG_DIRS
|
||||
XCURSOR_PATH
|
||||
TERMINFO_DIRS
|
||||
QT_PLUGIN_PATH
|
||||
QTWEBKIT_PLUGIN_PATH
|
||||
QML2_IMPORT_PATH
|
||||
INFOPATH
|
||||
LIBEXEC_PATH
|
||||
GTK_PATH
|
||||
GIO_EXTRA_MODULES
|
||||
CUPS_DATADIR
|
||||
]
|
||||
| each { {($in): $converter} }
|
||||
| into record
|
||||
|
||||
$env.ENV_CONVERSIONS = $env.ENV_CONVERSIONS | merge $addition
|
||||
$env.EDITOR = "hx"
|
||||
|
||||
def switch [] {
|
||||
nh os switch --file ($env.NH_FLAKE | path join default.nix) (open /etc/hostname | str trim)
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
pkgs,
|
||||
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
@ -8,11 +9,8 @@
|
|||
nushell
|
||||
inshellisense
|
||||
carapace
|
||||
fish
|
||||
];
|
||||
environment.sessionVariables = {
|
||||
CARAPACE_BRIDGES = "inshellisense,carapace,clap,bash";
|
||||
CARAPACE_MATCH = 1;
|
||||
};
|
||||
|
||||
files = {
|
||||
".config/nushell/config.nu".source = ./config.nu;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
key = pkgs.writeText "signingkey" "ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAAWEDj/Yib6Mqs016jx7rtecWpytwfVl28eoHtPYCM9TVLq81VIHJSN37lbkc/JjiXCdIJy2Ta3A3CVV5k3Z37NbgAu23oKA2OcHQNaRTLtqWlcBf9fk9suOkP1A3NzAqzivFpBnZm3ytaXwU8LBJqxOtNqZcFVruO6fZxJtg2uE34mAw==";
|
||||
key = pkgs.writeText "signingkey" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPiRe9OH/VtWFWyy5QbAVcN7CLxr4zUtRCwmxD6aeN6";
|
||||
in
|
||||
{
|
||||
programs.git = {
|
||||
|
|
|
@ -60,7 +60,6 @@ in
|
|||
inetutils
|
||||
inetutils
|
||||
jq
|
||||
jujutsu
|
||||
just
|
||||
kondo
|
||||
lazygit
|
||||
|
|
|
@ -6,75 +6,56 @@
|
|||
}:
|
||||
let
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (builtins) attrValues readFile;
|
||||
|
||||
inherit (config.meta.mainUser) username;
|
||||
|
||||
realName = readFile config.sops.secrets.real_name.path;
|
||||
universityEmail = readFile config.sops.secrets.university_email.path;
|
||||
organizationEmail = readFile config.sops.secrets.organization_email.path;
|
||||
organizationShortName = readFile config.sops.secrets.organization_short_name.path;
|
||||
|
||||
toml = pkgs.formats.toml { };
|
||||
jj-config = toml.generate "config.toml" {
|
||||
user = {
|
||||
name = "Bloxx12";
|
||||
email = "charlie@charlieroot.dev";
|
||||
email = "fau@faukah.com";
|
||||
name = "faukah";
|
||||
};
|
||||
|
||||
ui = {
|
||||
pager = [
|
||||
"${getExe pkgs.bat}"
|
||||
"--plain"
|
||||
];
|
||||
default-command = "log";
|
||||
movement.edit = true;
|
||||
|
||||
diff.tool = [
|
||||
"${getExe pkgs.difftastic}"
|
||||
"--color"
|
||||
"always"
|
||||
"$left"
|
||||
"$right"
|
||||
];
|
||||
"--scope" = [
|
||||
{
|
||||
"--when".repositories = [ "~/repos/projects/uni" ];
|
||||
user = {
|
||||
email = universityEmail;
|
||||
name = realName;
|
||||
};
|
||||
# FIXME: do this with agenix
|
||||
# "--scope" = [
|
||||
# {
|
||||
# "--when.repositories" = ["~/repos/projects/uni"];
|
||||
# user = {
|
||||
# # TODO
|
||||
# name = "";
|
||||
# email = "";
|
||||
# };
|
||||
# }
|
||||
# {
|
||||
# "--when.repositories" = ["~/repos/projects/uni/"];
|
||||
# user = {
|
||||
# # TODO
|
||||
# name = "";
|
||||
# email = "";
|
||||
# };
|
||||
# }
|
||||
# ];
|
||||
git.push-new-bookmarks = true;
|
||||
}
|
||||
{
|
||||
|
||||
signing = {
|
||||
behaviour = "own";
|
||||
backend = "ssh";
|
||||
key = [
|
||||
"ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAAWEDj/Yib6Mqs016jx7rtecWpytwfVl28eoHtPYCM9TVLq81VIHJSN37lbkc/JjiXCdIJy2Ta3A3CVV5k3Z37NbgAu23oKA2OcHQNaRTLtqWlcBf9fk9suOkP1A3NzAqzivFpBnZm3ytaXwU8LBJqxOtNqZcFVruO6fZxJtg2uE34mAw=="
|
||||
];
|
||||
"--when".repositories = [ "~/repos/projects/${organizationShortName}" ];
|
||||
|
||||
user = {
|
||||
email = organizationEmail;
|
||||
name = realName;
|
||||
};
|
||||
|
||||
}
|
||||
];
|
||||
aliases = {
|
||||
c = [ "commit" ];
|
||||
ci = [
|
||||
"commit"
|
||||
"--interactive"
|
||||
];
|
||||
|
||||
e = [ "edit" ];
|
||||
|
||||
# "new bookmark"
|
||||
i = [
|
||||
"git"
|
||||
"init"
|
||||
"--colocate"
|
||||
];
|
||||
nb = [
|
||||
"bookmark"
|
||||
"create"
|
||||
"-r @-"
|
||||
];
|
||||
|
||||
pull = [
|
||||
"git"
|
||||
"fetch"
|
||||
|
@ -84,14 +65,12 @@ let
|
|||
"push"
|
||||
"--allow-new"
|
||||
];
|
||||
|
||||
r = [ "rebase" ];
|
||||
s = [ "squash" ];
|
||||
si = [
|
||||
"squash"
|
||||
"--interactive"
|
||||
];
|
||||
|
||||
tug = [
|
||||
"bookmark"
|
||||
"move"
|
||||
|
@ -101,10 +80,17 @@ let
|
|||
"@-"
|
||||
];
|
||||
};
|
||||
revset-aliases = {
|
||||
"closest_bookmark(to)" = "heads(::to & bookmarks())";
|
||||
git.push-new-bookmarks = true;
|
||||
revset-aliases."closest_bookmark(to)" = "heads(::to & bookmarks())";
|
||||
signing = {
|
||||
backend = "ssh";
|
||||
behavior = "drop";
|
||||
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILPiRe9OH/VtWFWyy5QbAVcN7CLxr4zUtRCwmxD6aeN6";
|
||||
};
|
||||
template-aliases = {
|
||||
"format_short_id(id)" = "id.shortest()";
|
||||
"format_timestamp(timestamp)" = "timestamp.ago()";
|
||||
};
|
||||
|
||||
templates = {
|
||||
draft_commit_description = ''
|
||||
concat(
|
||||
|
@ -118,22 +104,27 @@ let
|
|||
)
|
||||
'';
|
||||
};
|
||||
template-aliases = {
|
||||
"format_short_id(id)" = "id.shortest()";
|
||||
ui = {
|
||||
default-command = "log";
|
||||
diff-formatter = [
|
||||
"${getExe pkgs.difftastic}"
|
||||
"--color"
|
||||
"always"
|
||||
"$left"
|
||||
"$right"
|
||||
];
|
||||
movement = {
|
||||
edit = true;
|
||||
};
|
||||
pager = [
|
||||
"${getExe pkgs.bat}"
|
||||
"--plain"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
jj-wrapped = pkgs.symlinkJoin {
|
||||
name = "jj-wrapped";
|
||||
paths = [ pkgs.jj ];
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/mako --add-flags "\
|
||||
--config ${jj-config}
|
||||
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
# environment.systemPackages = [jj-wrapped];
|
||||
hjem.users.${username}.xdg.config.files."jj/config.toml".source = jj-config;
|
||||
environment.systemPackages = attrValues { inherit (pkgs) jujutsu; };
|
||||
}
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
loadInNixShell = true;
|
||||
|
||||
enableBashIntegration = false;
|
||||
enableFishIntegration = false;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
environment.systemPackages = [pkgs.fish];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ in
|
|||
boot = {
|
||||
tmp.useTmpfs = true;
|
||||
consoleLogLevel = 0;
|
||||
enableContainers = false;
|
||||
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
|
|
|
@ -153,7 +153,7 @@ in
|
|||
keep-derivations = true;
|
||||
keep-outputs = true;
|
||||
|
||||
bash-prompt-suffix = "\[\033[m\]|\[\033[1;35m\]\t\[\033[m\]|\[\e[1m\]\u\[\e[1;36m\]\[\033[m\]@\[\e[1;36m\]\h\[\033[m\]:\[\e[0m\]\[\e[1;32m\][\W]> \[\e[0m\]";
|
||||
# bash-prompt-suffix = "\[\033[m\]|\[\033[1;35m\]\t\[\033[m\]|\[\e[1m\]\u\[\e[1;36m\]\[\033[m\]@\[\e[1;36m\]\h\[\033[m\]:\[\e[0m\]\[\e[1;32m\][\W]> \[\e[0m\]";
|
||||
|
||||
# Use binary cache
|
||||
builders-use-substitutes = true;
|
||||
|
|
|
@ -51,7 +51,7 @@ in
|
|||
# Whether to expose old attribute names for compatibility.
|
||||
# This improves backwards compatibility,
|
||||
# which I could not care less about in my configuration.
|
||||
allowAliases = false;
|
||||
allowAliases = true;
|
||||
|
||||
# List of derivation warnings to display while rebuilding.
|
||||
# See: <https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/check-meta.nix>
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
plain,
|
||||
leaf,
|
||||
flag,
|
||||
tagctl,
|
||||
|
||||
}:
|
||||
let
|
||||
inherit (lib.meta) getExe getExe';
|
||||
|
@ -57,8 +59,11 @@ in
|
|||
})
|
||||
])
|
||||
|
||||
(flag "prefer-no-csd")
|
||||
(leaf "screenshot-path" "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png")
|
||||
|
||||
(plain "layout" [
|
||||
(leaf "gaps" 0)
|
||||
(leaf "gaps" 15)
|
||||
(leaf "center-focused-column" "on-overflow")
|
||||
|
||||
(plain "focus-ring" [
|
||||
|
@ -115,7 +120,6 @@ in
|
|||
(leaf "match" { namespace = "overview$"; })
|
||||
(leaf "place-within-backdrop" true)
|
||||
])
|
||||
(flag "prefer-no-csd")
|
||||
(plain "switch-events" [
|
||||
(plain "lid-close" [
|
||||
(leaf "spawn" <| getExe pkgs.swaylock)
|
||||
|
@ -127,7 +131,7 @@ in
|
|||
])
|
||||
|
||||
(plain "animations" [
|
||||
(flag "off")
|
||||
# (flag "off")
|
||||
(plain "window-close" [
|
||||
(leaf "duration-ms" 250)
|
||||
(leaf "curve" "linear")
|
||||
|
@ -149,7 +153,6 @@ in
|
|||
(leaf "draw-border-with-background" false)
|
||||
])
|
||||
(plain "debug" [
|
||||
(flag "wait-for-frame-completion-in-pipewire")
|
||||
])
|
||||
(plain "hotkey-overlay" [
|
||||
(flag "skip-at-startup")
|
||||
|
@ -228,17 +231,62 @@ in
|
|||
])
|
||||
])
|
||||
|
||||
(plain "Mod+0" [ (leaf "spawn" [tagctl "toggle-tag" "0"]) ])
|
||||
(plain "Mod+1" [ (leaf "spawn" [tagctl "toggle-tag" "1"]) ])
|
||||
(plain "Mod+2" [ (leaf "spawn" [tagctl "toggle-tag" "2"]) ])
|
||||
(plain "Mod+3" [ (leaf "spawn" [tagctl "toggle-tag" "3"]) ])
|
||||
(plain "Mod+4" [ (leaf "spawn" [tagctl "toggle-tag" "4"]) ])
|
||||
(plain "Mod+5" [ (leaf "spawn" [tagctl "toggle-tag" "5"]) ])
|
||||
(plain "Mod+6" [ (leaf "spawn" [tagctl "toggle-tag" "6"]) ])
|
||||
(plain "Mod+7" [ (leaf "spawn" [tagctl "toggle-tag" "7"]) ])
|
||||
(plain "Mod+8" [ (leaf "spawn" [tagctl "toggle-tag" "8"]) ])
|
||||
(plain "Mod+9" [ (leaf "spawn" [tagctl "toggle-tag" "9"]) ])
|
||||
|
||||
# (plain "Mod+0" [ (leaf "focus-workspace" 0) ])
|
||||
# (plain "Mod+1" [ (leaf "focus-workspace" 1) ])
|
||||
# (plain "Mod+2" [ (leaf "focus-workspace" 2) ])
|
||||
# (plain "Mod+3" [ (leaf "focus-workspace" 3) ])
|
||||
# (plain "Mod+4" [ (leaf "focus-workspace" 4) ])
|
||||
# (plain "Mod+5" [ (leaf "focus-workspace" 5) ])
|
||||
# (plain "Mod+6" [ (leaf "focus-workspace" 6) ])
|
||||
# (plain "Mod+7" [ (leaf "focus-workspace" 7) ])
|
||||
# (plain "Mod+8" [ (leaf "focus-workspace" 8) ])
|
||||
# (plain "Mod+9" [ (leaf "focus-workspace" 9) ])
|
||||
#
|
||||
(plain "Mod+Shift+0" [ (leaf "spawn" [tagctl "toggle" "0"]) ])
|
||||
(plain "Mod+Shift+1" [ (leaf "spawn" [tagctl "toggle" "1"]) ])
|
||||
(plain "Mod+Shift+2" [ (leaf "spawn" [tagctl "toggle" "2"]) ])
|
||||
(plain "Mod+Shift+3" [ (leaf "spawn" [tagctl "toggle" "3"]) ])
|
||||
(plain "Mod+Shift+4" [ (leaf "spawn" [tagctl "toggle" "4"]) ])
|
||||
(plain "Mod+Shift+5" [ (leaf "spawn" [tagctl "toggle" "5"]) ])
|
||||
(plain "Mod+Shift+6" [ (leaf "spawn" [tagctl "toggle" "6"]) ])
|
||||
(plain "Mod+Shift+7" [ (leaf "spawn" [tagctl "toggle" "7"]) ])
|
||||
(plain "Mod+Shift+8" [ (leaf "spawn" [tagctl "toggle" "8"]) ])
|
||||
(plain "Mod+Shift+9" [ (leaf "spawn" [tagctl "toggle" "9"]) ])
|
||||
|
||||
# (plain "Mod+Shift+0" [ (leaf "move-column-to-workspace" 0) ])
|
||||
# (plain "Mod+Shift+1" [ (leaf "move-column-to-workspace" 1) ])
|
||||
# (plain "Mod+Shift+2" [ (leaf "move-column-to-workspace" 2) ])
|
||||
# (plain "Mod+Shift+3" [ (leaf "move-column-to-workspace" 3) ])
|
||||
# (plain "Mod+Shift+4" [ (leaf "move-column-to-workspace" 4) ])
|
||||
# (plain "Mod+Shift+5" [ (leaf "move-column-to-workspace" 5) ])
|
||||
# (plain "Mod+Shift+6" [ (leaf "move-column-to-workspace" 6) ])
|
||||
# (plain "Mod+Shift+7" [ (leaf "move-column-to-workspace" 7) ])
|
||||
# (plain "Mod+Shift+8" [ (leaf "move-column-to-workspace" 8) ])
|
||||
# (plain "Mod+Shift+9" [ (leaf "move-column-to-workspace" 9) ])
|
||||
|
||||
(plain "Mod+Ctrl+0" [ (leaf "spawn" [tagctl "exclusive-tag" "0"]) ])
|
||||
(plain "Mod+Ctrl+1" [ (leaf "spawn" [tagctl "exclusive-tag" "1"]) ])
|
||||
(plain "Mod+Ctrl+2" [ (leaf "spawn" [tagctl "exclusive-tag" "2"]) ])
|
||||
(plain "Mod+Ctrl+3" [ (leaf "spawn" [tagctl "exclusive-tag" "3"]) ])
|
||||
(plain "Mod+Ctrl+4" [ (leaf "spawn" [tagctl "exclusive-tag" "4"]) ])
|
||||
(plain "Mod+Ctrl+5" [ (leaf "spawn" [tagctl "exclusive-tag" "5"]) ])
|
||||
(plain "Mod+Ctrl+6" [ (leaf "spawn" [tagctl "exclusive-tag" "6"]) ])
|
||||
(plain "Mod+Ctrl+7" [ (leaf "spawn" [tagctl "exclusive-tag" "7"]) ])
|
||||
(plain "Mod+Ctrl+8" [ (leaf "spawn" [tagctl "exclusive-tag" "8"]) ])
|
||||
(plain "Mod+Ctrl+9" [ (leaf "spawn" [tagctl "exclusive-tag" "9"]) ])
|
||||
|
||||
(plain "Ctrl+Print" [ (flag "screenshot-screen") ])
|
||||
(plain "Mod+0" [ (leaf "focus-workspace" 0) ])
|
||||
(plain "Mod+1" [ (leaf "focus-workspace" 1) ])
|
||||
(plain "Mod+2" [ (leaf "focus-workspace" 2) ])
|
||||
(plain "Mod+3" [ (leaf "focus-workspace" 3) ])
|
||||
(plain "Mod+4" [ (leaf "focus-workspace" 4) ])
|
||||
(plain "Mod+5" [ (leaf "focus-workspace" 5) ])
|
||||
(plain "Mod+6" [ (leaf "focus-workspace" 6) ])
|
||||
(plain "Mod+7" [ (leaf "focus-workspace" 7) ])
|
||||
(plain "Mod+8" [ (leaf "focus-workspace" 8) ])
|
||||
(plain "Mod+9" [ (leaf "focus-workspace" 9) ])
|
||||
(plain "Mod+Alt+L" [ (leaf "spawn" <| getExe pkgs.swaylock) ])
|
||||
(plain "Mod+B" [ (leaf "spawn" <| getExe pkgs.brave) ])
|
||||
(plain "Mod+BracketLeft" [ (flag "consume-or-expel-window-left") ])
|
||||
|
@ -259,27 +307,17 @@ in
|
|||
(plain "Mod+F" [ (flag "maximize-column") ])
|
||||
(plain "Mod+H" [ (flag "focus-column-or-monitor-left") ])
|
||||
(plain "Mod+Home" [ (flag "focus-column-first") ])
|
||||
(plain "Mod+I" [ (flag "focus-workspace-up") ])
|
||||
# (plain "Mod+I" [ (flag "focus-workspace-up") ])
|
||||
(plain "Mod+J" [ (flag "focus-window-or-workspace-down") ])
|
||||
(plain "Mod+K" [ (flag "focus-window-or-workspace-up") ])
|
||||
(plain "Mod+L" [ (flag "focus-column-or-monitor-right") ])
|
||||
(plain "Mod+Minus" [ (leaf "set-column-width" [ "-10%" ]) ])
|
||||
(plain "Mod+O" [ (flag "toggle-overview") ])
|
||||
(plain "Mod+Page_Down" [ (flag "focus-workspace-down") ])
|
||||
(plain "Mod+Page_Up" [ (flag "focus-workspace-up") ])
|
||||
# (plain "Mod+Page_Down" [ (flag "focus-workspace-down") ])
|
||||
# (plain "Mod+Page_Up" [ (flag "focus-workspace-up") ])
|
||||
(plain "Mod+Period" [ (flag "expel-window-from-column") ])
|
||||
(plain "Mod+Q" [ (flag "close-window") ])
|
||||
(plain "Mod+R" [ (flag "switch-preset-column-width") ])
|
||||
(plain "Mod+Shift+0" [ (leaf "move-column-to-workspace" 0) ])
|
||||
(plain "Mod+Shift+1" [ (leaf "move-column-to-workspace" 1) ])
|
||||
(plain "Mod+Shift+2" [ (leaf "move-column-to-workspace" 2) ])
|
||||
(plain "Mod+Shift+3" [ (leaf "move-column-to-workspace" 3) ])
|
||||
(plain "Mod+Shift+4" [ (leaf "move-column-to-workspace" 4) ])
|
||||
(plain "Mod+Shift+5" [ (leaf "move-column-to-workspace" 5) ])
|
||||
(plain "Mod+Shift+6" [ (leaf "move-column-to-workspace" 6) ])
|
||||
(plain "Mod+Shift+7" [ (leaf "move-column-to-workspace" 7) ])
|
||||
(plain "Mod+Shift+8" [ (leaf "move-column-to-workspace" 8) ])
|
||||
(plain "Mod+Shift+9" [ (leaf "move-column-to-workspace" 9) ])
|
||||
(plain "Mod+Shift+Ctrl+Down" [ (flag "move-column-to-monitor-down") ])
|
||||
(plain "Mod+Shift+Ctrl+H" [ (flag "move-column-to-monitor-left") ])
|
||||
(plain "Mod+Shift+Ctrl+J" [ (flag "move-column-to-monitor-down") ])
|
||||
|
@ -292,29 +330,29 @@ in
|
|||
(plain "Mod+Shift+Equal" [ (leaf "set-window-height" [ "+10%" ]) ])
|
||||
(plain "Mod+Shift+F" [ (flag "fullscreen-window") ])
|
||||
(plain "Mod+Shift+H" [ (flag "move-column-left-or-to-monitor-left") ])
|
||||
(plain "Mod+Shift+I" [ (flag "move-column-to-workspace-up") ])
|
||||
(plain "Mod+Shift+J" [ (flag "move-window-down-or-to-workspace-down") ])
|
||||
(plain "Mod+Shift+K" [ (flag "move-window-up-or-to-workspace-up") ])
|
||||
# (plain "Mod+Shift+I" [ (flag "move-column-to-workspace-up") ])
|
||||
# (plain "Mod+Shift+J" [ (flag "move-window-down-or-to-workspace-down") ])
|
||||
# (plain "Mod+Shift+K" [ (flag "move-window-up-or-to-workspace-up") ])
|
||||
(plain "Mod+Shift+L" [ (flag "move-column-right-or-to-monitor-right") ])
|
||||
(plain "Mod+Shift+Minus" [ (leaf "set-window-height" [ "-10%" ]) ])
|
||||
(plain "Mod+Shift+Page_Down" [ (flag "move-column-to-workspace-down") ])
|
||||
# (plain "Mod+Shift+Page_Down" [ (flag "move-column-to-workspace-down") ])
|
||||
(plain "Mod+Shift+Page_Up" [ (flag "move-column-to-workspace-up") ])
|
||||
(plain "Mod+Shift+P" [ (flag "power-off-monitors") ])
|
||||
(plain "Mod+Shift+R" [ (flag "switch-preset-window-height") ])
|
||||
(plain "Mod+Shift+U" [ (flag "move-column-to-workspace-down") ])
|
||||
# (plain "Mod+Shift+U" [ (flag "move-column-to-workspace-down") ])
|
||||
(plain "Mod+Shift+V" [ (flag "switch-focus-between-floating-and-tiling") ])
|
||||
(plain "Mod+Shift+WheelScrollDown" [ (flag "move-column-to-workspace-down") ])
|
||||
# (plain "Mod+Shift+WheelScrollDown" [ (flag "move-column-to-workspace-down") ])
|
||||
(plain "Mod+Shift+WheelScrollLeft" [ (flag "move-column-left") ])
|
||||
(plain "Mod+Shift+WheelScrollRight" [ (flag "move-column-right") ])
|
||||
(plain "Mod+Shift+WheelScrollUp" [ (flag "move-column-to-workspace-up") ])
|
||||
# (plain "Mod+Shift+WheelScrollUp" [ (flag "move-column-to-workspace-up") ])
|
||||
(plain "Mod+T" [ (flag "screenshot") ])
|
||||
(plain "Mod+U" [ (flag "focus-workspace-down") ])
|
||||
(plain "Mod+V" [ (flag "toggle-window-floating") ])
|
||||
(plain "Mod+W" [ (flag "toggle-column-tabbed-display") ])
|
||||
(plain "Mod+WheelScrollDown" [ (flag "focus-workspace-down") ])
|
||||
# (plain "Mod+WheelScrollDown" [ (flag "focus-workspace-down") ])
|
||||
(plain "Mod+WheelScrollLeft" [ (flag "focus-column-left") ])
|
||||
(plain "Mod+WheelScrollRight" [ (flag "focus-column-right") ])
|
||||
(plain "Mod+WheelScrollUp" [ (flag "focus-workspace-up") ])
|
||||
# (plain "Mod+WheelScrollUp" [ (flag "focus-workspace-up") ])
|
||||
(plain "Print" [ (flag "screenshot") ])
|
||||
|
||||
])
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
|
@ -7,8 +8,13 @@
|
|||
let
|
||||
inherit (lib.modules) mkForce mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.meta) getExe';
|
||||
inherit (config.modules.system) isGraphical;
|
||||
inherit (config.meta.mainUser) username;
|
||||
inherit (lib) getFlakePkg';
|
||||
|
||||
niri-tag = inputs.niri-tag.packages.${builtins.currentSystem}.unstable;
|
||||
tagctl = getExe' niri-tag "tagctl";
|
||||
|
||||
cfg = config.modules.desktops.niri;
|
||||
|
||||
|
@ -50,21 +56,31 @@ let
|
|||
flag
|
||||
lib
|
||||
pkgs
|
||||
tagctl
|
||||
;
|
||||
}
|
||||
);
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.niri-tag.nixosModules.niri-tag
|
||||
inputs.niri.nixosModules.niri
|
||||
];
|
||||
options.modules.desktops.niri.enable = mkEnableOption "Niri, a scolling tiling wayland compositor";
|
||||
|
||||
config = mkIf (cfg.enable || isGraphical) {
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
package = pkgs.niri;
|
||||
# package = pkgs.niri;
|
||||
};
|
||||
services = {
|
||||
# The niri module auto enables the gnome keyring,
|
||||
# which is something I direly want to avoid.
|
||||
services.gnome.gnome-keyring.enable = mkForce false;
|
||||
gnome.gnome-keyring.enable = mkForce false;
|
||||
niri-tag = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
hjem.users.${username}.files.".config/niri/config.kdl".source = niri-config;
|
||||
|
||||
|
|
|
@ -11,30 +11,33 @@ in
|
|||
{
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
|
||||
# Sets environment variable NIXOS_XDG_OPEN_USE_PORTAL to 1.
|
||||
# This will make xdg-open use the portal to open programs,
|
||||
# which resolves bugs involving programs opening inside FHS envs
|
||||
# or with unexpected env vars set from wrappers.
|
||||
# See #160923 for more info.
|
||||
xdgOpenUsePortal = true;
|
||||
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.kdePackages.xdg-desktop-portal-kde
|
||||
pkgs.xdg-desktop-portal-gnome
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
config = {
|
||||
niri = {
|
||||
common = {
|
||||
default = [
|
||||
"gnome"
|
||||
"gtk"
|
||||
"kde"
|
||||
];
|
||||
# Portal API reference:
|
||||
# https://docs.flatpak.org/en/latest/portal-api-reference.html
|
||||
# "org.freedesktop.impl.portal.Access" = ["kde"];
|
||||
# "org.freedesktop.impl.portal.Notification" = ["kde"];
|
||||
"org.freedesktop.impl.portal.FileChooser" = [ "kde" ];
|
||||
"org.freedesktop.impl.portal.Secret" = [
|
||||
"gnome-keyring"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.pathsToLink = [
|
||||
"/share/xdg-desktop-portal"
|
||||
"/share/applications"
|
||||
];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue