more progress on custom options config
This commit is contained in:
26 files changed
+900
-561
No files matched your search
@@ -0,0 +1,8 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.global = { pkgs, config, lib, ... }: {
|
||||
boot.loader.grub = lib.mkIf (config.components.bootLoader == "grub") {
|
||||
enable = true;
|
||||
useOSProber = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.global = { pkgs, config, lib, ... }: {
|
||||
boot.loader.limine = lib.mkIf (config.components.bootLoader == "limine") {
|
||||
enable = true;
|
||||
maxGenerations = 10;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
|
||||
config = lib.mkIf (config.components.displayManager == "lightdm") {
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.lightdm = {
|
||||
enable = true;
|
||||
greeters.gtk.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.ly = { config, pkgs, ... }: {
|
||||
services.displayManager.ly = {
|
||||
enable = true;
|
||||
};
|
||||
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
|
||||
config = lib.mkIf (config.components.displayManager == "ly") {
|
||||
services.displayManager.ly.enable = true;
|
||||
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.graphics = { pkgs, config, lib, ... }: {
|
||||
config = lib.mkIf ((config.components.shells == "noctalia")||(builtins.elem "noctalia" config.components.shells)) {
|
||||
environment.systemPackages = with pkgs; [
|
||||
inputs.noctalia.packages.${system}.default
|
||||
];
|
||||
|
||||
programs.noctalia.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
flake.homeModules.graphics = { lib, pkgs, osConfig, ... }: {
|
||||
config = lib.mkIf ((osConfig.components.shells == "noctalia")||(builtins.elem "noctalia" osConfig.components.shells)) {
|
||||
home.activation = {
|
||||
symlinkNoctaliaState = lib.hm.dag.entryAfter ["writeBoundary"] (osConfig.helpers.mkSymlinkActivationScript {
|
||||
target = ".local/state/noctalia/settings.toml";
|
||||
source = "dotfiles/${osConfig.info.hostName}/noctalia/settings.toml";
|
||||
});
|
||||
|
||||
symlinkNoctaliaStatePlugins = lib.hm.dag.entryAfter ["writeBoundary"] (osConfig.helpers.mkSymlinkActivationScript {
|
||||
target = ".local/state/noctalia/plugins";
|
||||
source = "dotfiles/${osConfig.info.hostName}/noctalia/plugins";
|
||||
isDir = true;
|
||||
});
|
||||
};
|
||||
|
||||
xdg.configFile."noctalia/settings.toml".source = "${self}/dotfiles/${osConfig.info.hostName}/noctalia/settings.toml";
|
||||
xdg.configFile."noctalia/plugins".source = "${self}/dotfiles/${osConfig.info.hostName}/noctalia/plugins";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.graphics = { config, pkgs, inputs, lib, ... }: {
|
||||
config = lib.mkIf ((config.components.windowManagers == "niri")||(builtins.elem "niri" 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/niri-wm/niri/pull/3642
|
||||
package = (pkgs.niri.overrideAttrs (finalAttrs: prevAttrs:
|
||||
{
|
||||
cargoHash = "sha256-HypBB3PL4nVFMNH2+jEK0+dG9dJ920nHi8GwRoeH/v4=";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "niri-wm";
|
||||
repo = "niri";
|
||||
rev = "cb41d54703eef73883bb2be58e19bcf3715d777c";
|
||||
sha256 = "sha256-cLzTeMcCdQJ+kHGcOposjeheFyEG/tGOA1jFAORMHjI=";
|
||||
};
|
||||
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname src version;
|
||||
hash = finalAttrs.cargoHash;
|
||||
};
|
||||
}
|
||||
));
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flake.homeModules.graphics = { lib, osConfig, ... }: {
|
||||
config = lib.mkIf ((osConfig.components.windowManagers == "niri")||(builtins.elem "niri" osConfig.components.windowManagers)) {
|
||||
home.activation.symlinkNiriConfig = lib.hm.dag.entryAfter ["writeBoundary"] (osConfig.helpers.mkSymlinkActivationScript {
|
||||
target = ".config/niri/config.kdl";
|
||||
source = "dotfiles/${osConfig.info.hostName}/niri.kdl";
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.niri = { config, pkgs, inputs, lib, ... }: {
|
||||
imports = with self.nixosModules; [
|
||||
nautilus
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
xdg-desktop-portal-gnome
|
||||
wl-clipboard
|
||||
libsecret
|
||||
cage
|
||||
wev
|
||||
qalculate-qt
|
||||
];
|
||||
|
||||
services.upower.enable = true;
|
||||
|
||||
services.udisks2.enable = true;
|
||||
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
useNautilus = true;
|
||||
# override niri source to use https://github.com/niri-wm/niri/pull/3642
|
||||
package = (pkgs.niri.overrideAttrs (finalAttrs: prevAttrs:
|
||||
{
|
||||
cargoHash = "sha256-HypBB3PL4nVFMNH2+jEK0+dG9dJ920nHi8GwRoeH/v4=";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "niri-wm";
|
||||
repo = "niri";
|
||||
rev = "cb41d54703eef73883bb2be58e19bcf3715d777c";
|
||||
sha256 = "sha256-cLzTeMcCdQJ+kHGcOposjeheFyEG/tGOA1jFAORMHjI=";
|
||||
};
|
||||
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname src version;
|
||||
hash = finalAttrs.cargoHash;
|
||||
};
|
||||
}
|
||||
));
|
||||
};
|
||||
};
|
||||
|
||||
flake.homeModules.niri = { lib, osConfig, ... }:
|
||||
{
|
||||
home.activation.symlinkNiriConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
#!/bin/bash
|
||||
if [ -f /home/grey/.config/niri/config.kdl ]; then
|
||||
rm /home/grey/.config/niri/config.kdl
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/niri.kdl /home/grey/.config/niri/config.kdl
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
{ inputs, self, ... }: {
|
||||
flake.nixosModules.noctalia = { pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
inputs.noctalia.packages.${system}.default
|
||||
];
|
||||
|
||||
programs.noctalia.enable = true;
|
||||
};
|
||||
|
||||
flake.homeModules.noctalia = { lib, pkgs, osConfig, ... }: {
|
||||
home.activation = {
|
||||
symlinkNoctaliaState = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
#!/bin/bash
|
||||
if [ -f /home/grey/.local/state/noctalia/settings.toml ]; then
|
||||
rm /home/grey/.local/state/noctalia/settings.toml
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/noctalia/settings.toml /home/grey/.local/state/noctalia/settings.toml
|
||||
|
||||
if [ -d /home/grey/.local/state/noctalia/plugins ]; then
|
||||
rm -rf /home/grey/.local/state/noctalia/plugins
|
||||
fi
|
||||
ln -s ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/noctalia/plugins /home/grey/.local/state/noctalia/plugins
|
||||
'';
|
||||
|
||||
copyNoctaliaConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
#!/bin/bash
|
||||
if [ -f /home/grey/.config/noctalia/settings.toml ]; then
|
||||
rm /home/grey/.config/noctalia/settings.toml
|
||||
fi
|
||||
cp ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/noctalia/settings.toml /home/grey/.config/noctalia/settings.toml
|
||||
|
||||
if [ -d /home/grey/.config/noctalia/plugins ]; then
|
||||
rm -rf /home/grey/.config/noctalia/plugins
|
||||
fi
|
||||
cp -r ${osConfig.info.rootPath}/dotfiles/${osConfig.networking.hostName}/noctalia/plugins /home/grey/.config/noctalia/plugins
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user