Put functionalities into modules
This commit is contained in:
parent
8f5e73e7f6
commit
c84146f761
@ -41,6 +41,7 @@
|
||||
nix-helper.enable = true;
|
||||
|
||||
desktop.enable = true;
|
||||
gammastep.enable = true;
|
||||
};
|
||||
|
||||
home.packages =
|
||||
@ -100,13 +101,6 @@
|
||||
|
||||
services.syncthing.enable = true;
|
||||
|
||||
services.gammastep = {
|
||||
enable = true;
|
||||
latitude = 47.92;
|
||||
longitude = 10.12;
|
||||
provider = "manual";
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
|
@ -26,6 +26,7 @@ in
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# systemd.user.sessionVariables.GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark";
|
||||
prism = {
|
||||
enable = true;
|
||||
wallpapers = ./wallpapers;
|
||||
|
41
modules/home/gammastep/default.nix
Normal file
41
modules/home/gammastep/default.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||
# as well as the libraries available from your flake's inputs.
|
||||
lib,
|
||||
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||
pkgs,
|
||||
# You also have access to your flake's inputs.
|
||||
inputs,
|
||||
|
||||
# Additional metadata is provided by Snowfall Lib.
|
||||
system, # The system architecture for this host (eg. `x86_64-linux`).
|
||||
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||||
format, # A normalized name for the system target (eg. `iso`).
|
||||
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||||
systems, # An attribute map of your defined hosts.
|
||||
|
||||
# All other arguments come from the module system.
|
||||
config,
|
||||
host,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.modules.gammastep;
|
||||
in
|
||||
{
|
||||
options.modules.gammastep = {
|
||||
enable = mkOption { default = false; };
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.gammastep = {
|
||||
enable = true;
|
||||
latitude = 47.92;
|
||||
longitude = 10.12;
|
||||
provider = "manual";
|
||||
};
|
||||
};
|
||||
}
|
37
modules/nixos/hyprland/default.nix
Normal file
37
modules/nixos/hyprland/default.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||
# as well as the libraries available from your flake's inputs.
|
||||
lib,
|
||||
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||
pkgs,
|
||||
# You also have access to your flake's inputs.
|
||||
inputs,
|
||||
|
||||
# Additional metadata is provided by Snowfall Lib.
|
||||
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
|
||||
system, # The system architecture for this host (eg. `x86_64-linux`).
|
||||
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||||
format, # A normalized name for the system target (eg. `iso`).
|
||||
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||||
systems, # An attribute map of your defined hosts.
|
||||
|
||||
# All other arguments come from the module system.
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.modules.hyprland;
|
||||
in
|
||||
{
|
||||
options.modules.hyprland = {
|
||||
enable = lib.mkOption { default = false; };
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.hyprland.enable = true;
|
||||
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
programs.hyprland.xwayland.enable = true;
|
||||
security.pam.services.hyprlock = { };
|
||||
};
|
||||
}
|
42
modules/nixos/thunar/default.nix
Normal file
42
modules/nixos/thunar/default.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{
|
||||
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||
# as well as the libraries available from your flake's inputs.
|
||||
lib,
|
||||
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||
pkgs,
|
||||
# You also have access to your flake's inputs.
|
||||
inputs,
|
||||
|
||||
# Additional metadata is provided by Snowfall Lib.
|
||||
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
|
||||
system, # The system architecture for this host (eg. `x86_64-linux`).
|
||||
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||||
format, # A normalized name for the system target (eg. `iso`).
|
||||
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||||
systems, # An attribute map of your defined hosts.
|
||||
|
||||
# All other arguments come from the module system.
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.modules.thunar;
|
||||
in
|
||||
{
|
||||
options.modules.thunar = {
|
||||
enable = lib.mkOption { default = false; };
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.thunar.enable = true;
|
||||
programs.xfconf.enable = true; # Persist saved preferences
|
||||
programs.thunar.plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
thunar-media-tags-plugin
|
||||
];
|
||||
services.gvfs.enable = true; # Mount, trash, and other functionalities
|
||||
services.tumbler.enable = true; # Thumbnail support for images
|
||||
};
|
||||
}
|
39
modules/nixos/wayland/default.nix
Normal file
39
modules/nixos/wayland/default.nix
Normal file
@ -0,0 +1,39 @@
|
||||
{
|
||||
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||
# as well as the libraries available from your flake's inputs.
|
||||
lib,
|
||||
# An instance of `pkgs` with your overlays and packages applied is also available.
|
||||
pkgs,
|
||||
# You also have access to your flake's inputs.
|
||||
inputs,
|
||||
|
||||
# Additional metadata is provided by Snowfall Lib.
|
||||
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
|
||||
system, # The system architecture for this host (eg. `x86_64-linux`).
|
||||
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||||
format, # A normalized name for the system target (eg. `iso`).
|
||||
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||||
systems, # An attribute map of your defined hosts.
|
||||
|
||||
# All other arguments come from the module system.
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.modules.wayland;
|
||||
in
|
||||
{
|
||||
options.modules.wayland = {
|
||||
enable = lib.mkOption { default = false; };
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # Hint electron apps to use wayland
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
kdePackages.qtwayland
|
||||
wl-clipboard
|
||||
];
|
||||
};
|
||||
}
|
@ -66,14 +66,11 @@
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
# Set location used by redshift
|
||||
location.provider = "manual";
|
||||
location.latitude = 47.92;
|
||||
location.longitude = 10.12;
|
||||
|
||||
modules = {
|
||||
locales.enable = true;
|
||||
# greetd.enable = true;
|
||||
thunar.enable = true;
|
||||
wayland.enable = true;
|
||||
hyprland.enable = true;
|
||||
};
|
||||
|
||||
nix.settings.auto-optimise-store = true;
|
||||
@ -121,9 +118,7 @@
|
||||
# services.xserver.windowManager.i3.enable = true;
|
||||
# services.xserver.windowManager.i3.package = pkgs.i3-gaps;
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
programs.hyprland.xwayland.enable = true;
|
||||
programs.kdeconnect.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
@ -159,8 +154,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
security.pam.services.hyprlock = { };
|
||||
|
||||
# Sound
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
@ -246,18 +239,8 @@
|
||||
# };
|
||||
# };
|
||||
|
||||
# x11 only, for wayland use gammastep (home-manager)
|
||||
# services.redshift.enable = true;
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # Hint electron apps to use wayland
|
||||
|
||||
# TODO: connect with desktop home manager module
|
||||
environment.variables = {
|
||||
GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark";
|
||||
};
|
||||
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
# hyprland desktop portal added automatically
|
||||
@ -275,24 +258,12 @@
|
||||
htop
|
||||
mc
|
||||
xorg.xhost
|
||||
kdePackages.qtwayland
|
||||
pavucontrol
|
||||
frajul.pulseaudio-popup
|
||||
gparted-xhost # needs to be installed as system package so it can be actually opened
|
||||
wl-clipboard
|
||||
xclip
|
||||
];
|
||||
|
||||
programs.thunar.enable = true;
|
||||
programs.xfconf.enable = true; # Persist saved preferences
|
||||
programs.thunar.plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
thunar-media-tags-plugin
|
||||
];
|
||||
services.gvfs.enable = true; # Mount, trash, and other functionalities
|
||||
services.tumbler.enable = true; # Thumbnail support for images
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
virtualisation.virtualbox.host.enable = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user