fix biri package and switch laptop to use it rather than niri
This commit is contained in:
7 files changed
+90
-39
No files matched your search
@@ -0,0 +1,40 @@
|
|||||||
|
{ inputs, self, ... }: {
|
||||||
|
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
|
||||||
|
config = lib.mkIf (builtins.elem "biri" config.components.windowManagers) {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
xdg-desktop-portal-gnome
|
||||||
|
wl-clipboard
|
||||||
|
libsecret
|
||||||
|
cage
|
||||||
|
wev
|
||||||
|
qalculate-qt
|
||||||
|
];
|
||||||
|
|
||||||
|
features.applications.gui.nautilus.enable = true;
|
||||||
|
|
||||||
|
services.upower.enable = true;
|
||||||
|
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
|
||||||
|
programs.niri = {
|
||||||
|
enable = true;
|
||||||
|
useNautilus = true;
|
||||||
|
# override niri source to use https://github.com/barrulus/biri
|
||||||
|
package = self.packages.${pkgs.stdenv.hostPlatform.system}.biri;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
|
||||||
|
components.windowManagers = [ "niri" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.homeModules.graphics = { config, pkgs, lib, inputs, ... }: {
|
||||||
|
home = lib.mkIf ((config.components.windowManagers == "biri")||(builtins.elem "biri" config.components.windowManagers)) {
|
||||||
|
activation.linkNiriConfig = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
|
||||||
|
target = "${config.xdg.configHome}/niri/config.kdl";
|
||||||
|
source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/niri.kdl";
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{ inputs, self, ... }: {
|
{ inputs, self, ... }: {
|
||||||
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
|
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
|
||||||
config = lib.mkIf ((config.components.windowManagers == "niri")||(builtins.elem "niri" config.components.windowManagers)) {
|
config = lib.mkIf (builtins.elem "niri" config.components.windowManagers) {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
xdg-desktop-portal-gnome
|
xdg-desktop-portal-gnome
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
|||||||
@@ -31,6 +31,19 @@
|
|||||||
file = inputs.helpers.localBinFromStringAttrs config.features.applications.shellScripts;
|
file = inputs.helpers.localBinFromStringAttrs config.features.applications.shellScripts;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.sftpman = lib.mkIf (config.info.hostName != "sakamoto") {
|
||||||
|
enable = true;
|
||||||
|
mounts = {
|
||||||
|
sakamoto = {
|
||||||
|
host = "sakamoto";
|
||||||
|
mountDestPath = "/home/grey/mounts/ssh/sakamoto";
|
||||||
|
mountPoint = "/";
|
||||||
|
sshKey = "/home/grey/.ssh/id_sakamoto";
|
||||||
|
user = "grey";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
targets.genericLinux.enable = config.info.isStandalone;
|
targets.genericLinux.enable = config.info.isStandalone;
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
|
|||||||
@@ -16,8 +16,8 @@
|
|||||||
components = {
|
components = {
|
||||||
bootLoader.selection = "limine";
|
bootLoader.selection = "limine";
|
||||||
displayManager = "ly";
|
displayManager = "ly";
|
||||||
windowManagers = "niri";
|
windowManagers = [ "biri" ];
|
||||||
shells = "noctalia";
|
shells = [ "noctalia" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
features = {
|
features = {
|
||||||
@@ -53,6 +53,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stylix.targets.nixos-icons.enable = false;
|
||||||
|
|
||||||
nix.buildMachines = [
|
nix.buildMachines = [
|
||||||
{
|
{
|
||||||
hostName = "nixremote";
|
hostName = "nixremote";
|
||||||
@@ -107,6 +109,7 @@
|
|||||||
kdePackages.filelight
|
kdePackages.filelight
|
||||||
kdePackages.kate
|
kdePackages.kate
|
||||||
loupe
|
loupe
|
||||||
|
sshfs
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -118,6 +121,19 @@
|
|||||||
];
|
];
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
programs.sftpman = {
|
||||||
|
enable = true;
|
||||||
|
mounts = {
|
||||||
|
takamaki = {
|
||||||
|
host = "takamaki";
|
||||||
|
mountDestPath = "/home/grey/mounts/ssh/takamaki";
|
||||||
|
mountPoint = "/";
|
||||||
|
sshKey = "/home/grey/.ssh/id_takamaki";
|
||||||
|
user = "grey";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.udiskie = {
|
services.udiskie = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -23,19 +23,6 @@
|
|||||||
stateVersion = "26.11";
|
stateVersion = "26.11";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.sftpman = {
|
|
||||||
enable = true;
|
|
||||||
mounts = {
|
|
||||||
sakamoto = {
|
|
||||||
host = "sakamoto";
|
|
||||||
mountDestPath = "/home/grey/mounts/ssh/sakamoto";
|
|
||||||
mountPoint = "/";
|
|
||||||
sshKey = "/home/grey/.ssh/id_sakamoto";
|
|
||||||
user = "grey";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.gpg-agent = {
|
services.gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|||||||
@@ -3,14 +3,14 @@
|
|||||||
options = {
|
options = {
|
||||||
components = {
|
components = {
|
||||||
windowManagers = lib.mkOption {
|
windowManagers = lib.mkOption {
|
||||||
type = inputs.helpers.mkOptionalListOfType (inputs.helpers.mkEnumFromDirContents "${self}/modules/components/window-managers");
|
type = lib.types.listOf (inputs.helpers.mkEnumFromDirContents "${self}/modules/components/window-managers");
|
||||||
description = "Defines the window manager(s) that should be installed, enabling any config associated with them in the process. It can be either a list or just one value.";
|
description = "Defines the window managers that should be installed, enabling any config associated with them in the process.";
|
||||||
default = [];
|
default = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
shells = lib.mkOption {
|
shells = lib.mkOption {
|
||||||
type = inputs.helpers.mkOptionalListOfType (inputs.helpers.mkEnumFromDirContents "${self}/modules/components/shells");
|
type = lib.types.listOf (inputs.helpers.mkEnumFromDirContents "${self}/modules/components/shells");
|
||||||
description = "Defines the graphical shell(s) that should be installed (e.g. Noctalia, DMS), enabling any config associated with them in the process. It can be either a list or just one value.";
|
description = "Defines the graphical shells that should be installed (e.g. Noctalia, DMS), enabling any config associated with them in the process.";
|
||||||
default = [];
|
default = [];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
+14
-19
@@ -1,40 +1,35 @@
|
|||||||
{ inputs, self, ... }: {
|
{ inputs, self, ... }: {
|
||||||
perSystem = { pkgs, ... }: {
|
perSystem = { pkgs, ... }: {
|
||||||
packages = let
|
packages = let
|
||||||
finalAttrs = rec {
|
overrideAttrs = with pkgs; finalAttrs: prevAttrs: {
|
||||||
name = "${pname}-${version}";
|
name = "${finalAttrs.pname}-${finalAttrs.version}";
|
||||||
pname = "biri";
|
pname = "biri";
|
||||||
version = "26.04";
|
version = "26.04";
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "barrulus";
|
owner = "barrulus";
|
||||||
repo = pname;
|
repo = finalAttrs.pname;
|
||||||
rev = "82efb3c0fb688a0c738d15517a2e6a44ed7ca703";
|
rev = "82efb3c0fb688a0c738d15517a2e6a44ed7ca703";
|
||||||
hash = "sha256-Gg4UHnugGnVZifxfKRUnxt3T+DSPgUvHEfE9tflA5zM=";
|
hash = "sha256-Gg4UHnugGnVZifxfKRUnxt3T+DSPgUvHEfE9tflA5zM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-aNovCzrTtmqTO33YtZap47npdN73zXC1bap5q5dZvZk=";
|
cargoHash = "sha256-aNovCzrTtmqTO33YtZap47npdN73zXC1bap5q5dZvZk=";
|
||||||
};
|
|
||||||
|
|
||||||
overrideAttrs = with pkgs; prev: {
|
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||||
rustPlatform = prev.rustPlatform // {
|
inherit (finalAttrs) pname src version;
|
||||||
buildRustPackage = args: pkgs.rustPlatform.buildRustPackage (args finalAttrs // finalAttrs);
|
hash = finalAttrs.cargoHash;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
biri = pkgs.niri.override (prev: overrideAttrs prev);
|
biri = (pkgs.niri.overrideAttrs (final: prev: overrideAttrs final prev));
|
||||||
|
|
||||||
biri-unwrapped = pkgs.niri.override (prev: (overrideAttrs prev) // {
|
biri-unwrapped = (pkgs.niri.overrideAttrs (final: prev: (overrideAttrs final prev) // {
|
||||||
rustPlatform = (overrideAttrs prev).rustPlatform // {
|
postInstall = ''
|
||||||
buildRustPackage = args: pkgs.rustPlatform.buildRustPackage (args finalAttrs // {
|
install -Dm0644 README.md resources/default-config.kdl -t $doc/share/doc/niri
|
||||||
postInstall = ''
|
mv docs/wiki $doc/share/doc/niri/wiki
|
||||||
install -Dm0644 README.md resources/default-config.kdl -t $doc/share/doc/niri
|
cp -r . $out
|
||||||
mv docs/wiki $doc/share/doc/niri/wiki
|
'';
|
||||||
cp -r . $out
|
}));
|
||||||
'';
|
|
||||||
});
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user