Replace old modules
This commit is contained in:
parent
63ffbcfe89
commit
969abe113e
@ -1,7 +1,90 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
{ config, lib, pkgs, options, inputs, ...}@args:
|
||||
let
|
||||
cfg = config.nixfiles.profile.base;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./fragments/base.nix
|
||||
./fragments/me.nix
|
||||
options.nixfiles.profile.base = {
|
||||
enable = lib.mkEnableOption "base config";
|
||||
};
|
||||
# TODO was gonna add something but i forgor and now i'm too lazy
|
||||
# to delete this
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf cfg.enable {
|
||||
|
||||
# Enable my account
|
||||
nixfiles.common.me = lib.mkDefault true;
|
||||
|
||||
# locale settings
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
# Enable flakes
|
||||
nix.settings.experimental-features = ["nix-command" "flakes" ];
|
||||
|
||||
# fallback to building locally if binary cache fails (home-manager should be
|
||||
# able to handle simple rebuilds offline)
|
||||
nix.settings.fallback = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# networking.hostName = "nixos"; # Define your hostname.
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networking.networkmanager.enable = lib.mkDefault true; # Easiest to use and most distros use this by default.
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
wget
|
||||
curl
|
||||
git
|
||||
git-lfs
|
||||
stow
|
||||
zsh
|
||||
ntfs3g
|
||||
openssh
|
||||
sshfs
|
||||
file
|
||||
|
||||
fd
|
||||
ripgrep
|
||||
sbctl # TODO move this elsewhere
|
||||
comma
|
||||
nil
|
||||
|
||||
# network utilities
|
||||
inetutils
|
||||
socat
|
||||
nmap
|
||||
hping
|
||||
|
||||
# system utilities
|
||||
htop
|
||||
lshw
|
||||
pciutils
|
||||
];
|
||||
|
||||
# this makes comma and legacy nix utils use the flake nixpkgs for ABI
|
||||
# compatibility becasue once `, vkcube` couldn't find the correct opengl
|
||||
# driver or something (also it reduces the download size of temporary shell
|
||||
# closures)
|
||||
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ] ++ options.nix.nixPath.default;
|
||||
|
||||
programs.ssh.enableAskPassword = false;
|
||||
programs.fuse.userAllowOther = true;
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = lib.mkDefault true;
|
||||
enableSSHSupport = lib.mkDefault true;
|
||||
};
|
||||
|
||||
boot.loader.systemd-boot.configurationLimit = lib.mkDefault 15;
|
||||
})
|
||||
];
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ let
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./temp-new
|
||||
];
|
||||
config = {};
|
||||
options.nixfiles = {
|
||||
|
@ -1,37 +1,58 @@
|
||||
{ config, lib, pkgs, outputs, ...}:
|
||||
|
||||
let
|
||||
cfg = config.nixfiles.common.desktop;
|
||||
inherit (lib) mkIf mkDefault mkForce mkEnableOption;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./base.nix
|
||||
./fragments/sound.nix
|
||||
./fragments/multimedia.nix
|
||||
./fragments/software/syncthing.nix
|
||||
./fragments/hardware/bluetooth.nix
|
||||
];
|
||||
# imports = [
|
||||
# ./base.nix
|
||||
# ./fragments/sound.nix
|
||||
# ./fragments/multimedia.nix
|
||||
# ./fragments/software/syncthing.nix
|
||||
# ./fragments/hardware/bluetooth.nix
|
||||
# ];
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
options.nixfiles.common.desktop = {
|
||||
enable = mkEnableOption "common desktop options";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
arc-theme
|
||||
wl-clipboard
|
||||
];
|
||||
config = mkIf cfg.enable {
|
||||
# enable option sets
|
||||
nixfiles = {
|
||||
packageSets.multimedia.enable = true;
|
||||
common = {
|
||||
syncthing.enable = true;
|
||||
bluetooth.enable = true;
|
||||
sound.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Enable flatpak
|
||||
services.flatpak.enable = true;
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
||||
noto-fonts-cjk
|
||||
(outputs.packages.${pkgs.system}.google-fonts.override { fonts = [ "NovaSquare" ];})
|
||||
];
|
||||
|
||||
users.users.nullbite = {
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
environment.systemPackages = with pkgs; [
|
||||
arc-theme
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
# Enable flatpak
|
||||
services.flatpak.enable = mkDefault true;
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = mkDefault true;
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
||||
noto-fonts-cjk
|
||||
(outputs.packages.${pkgs.system}.google-fonts.override { fonts = [ "NovaSquare" ];})
|
||||
];
|
||||
|
||||
# TODO this should be defined in home-manager or not at all probably
|
||||
# FIXME also my name is hardcoded
|
||||
users.users.nullbite = {
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,74 +0,0 @@
|
||||
{ config, lib, pkgs, options, inputs, ...}@args:
|
||||
{
|
||||
# locale settings
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
# Enable flakes
|
||||
nix.settings.experimental-features = ["nix-command" "flakes" ];
|
||||
|
||||
# fallback to building locally if binary cache fails (home-manager should be
|
||||
# able to handle simple rebuilds offline)
|
||||
nix.settings.fallback = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# networking.hostName = "nixos"; # Define your hostname.
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networking.networkmanager.enable = lib.mkDefault true; # Easiest to use and most distros use this by default.
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
wget
|
||||
curl
|
||||
git
|
||||
git-lfs
|
||||
stow
|
||||
zsh
|
||||
ntfs3g
|
||||
openssh
|
||||
sshfs
|
||||
file
|
||||
|
||||
fd
|
||||
ripgrep
|
||||
sbctl # TODO move this elsewhere
|
||||
comma
|
||||
nil
|
||||
|
||||
# network utilities
|
||||
inetutils
|
||||
socat
|
||||
nmap
|
||||
hping
|
||||
|
||||
# system utilities
|
||||
htop
|
||||
lshw
|
||||
pciutils
|
||||
];
|
||||
|
||||
# this makes comma and legacy nix utils use the flake nixpkgs for ABI
|
||||
# compatibility becasue once `, vkcube` couldn't find the correct opengl
|
||||
# driver or something (also it reduces the download size of temporary shell
|
||||
# closures)
|
||||
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ] ++ options.nix.nixPath.default;
|
||||
|
||||
programs.ssh.enableAskPassword = false;
|
||||
programs.fuse.userAllowOther = true;
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = lib.mkDefault true;
|
||||
enableSSHSupport = lib.mkDefault true;
|
||||
};
|
||||
|
||||
boot.loader.systemd-boot.configurationLimit = lib.mkDefault 15;
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
yt-dlp
|
||||
imagemagick
|
||||
ffmpeg
|
||||
];
|
||||
}
|
@ -1,7 +1,16 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.bluetooth;
|
||||
in
|
||||
{
|
||||
hardware.bluetooth = {
|
||||
enable = lib.mkDefault true;
|
||||
powerOnBoot = lib.mkDefault true;
|
||||
options.nixfiles.common.bluetooth = {
|
||||
enable = lib.mkEnableOption "Bluetooth";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
hardware.bluetooth = {
|
||||
enable = lib.mkDefault true;
|
||||
powerOnBoot = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,37 +1,47 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.nvidia;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../opengl.nix
|
||||
];
|
||||
# imports = [
|
||||
# ../opengl.nix
|
||||
# ];
|
||||
|
||||
# Load nvidia driver for Xorg and Wayland
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
options.nixfiles.common.nvidia = {
|
||||
modesetting.enable = lib.mkEnableOption "NVIDIA configuration with modesetting";
|
||||
};
|
||||
config = lib.mkIf cfg.modesetting.enable {
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
hardware.nvidia = {
|
||||
nixfiles.common.opengl.enable = true;
|
||||
|
||||
# Modesetting is required.
|
||||
modesetting.enable = lib.mkDefault true;
|
||||
hardware.nvidia = {
|
||||
|
||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||
powerManagement.enable = lib.mkDefault false;
|
||||
# Fine-grained power management. Turns off GPU when not in use.
|
||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||
powerManagement.finegrained = lib.mkDefault false;
|
||||
# Modesetting is required.
|
||||
modesetting.enable = lib.mkDefault true;
|
||||
|
||||
# Use the NVidia open source kernel module (not to be confused with the
|
||||
# independent third-party "nouveau" open source driver).
|
||||
# Support is limited to the Turing and later architectures. Full list of
|
||||
# supported GPUs is at:
|
||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||
# Only available from driver 515.43.04+
|
||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||
open = lib.mkDefault false;
|
||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||
powerManagement.enable = lib.mkDefault false;
|
||||
# Fine-grained power management. Turns off GPU when not in use.
|
||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||
powerManagement.finegrained = lib.mkDefault false;
|
||||
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = lib.mkDefault true;
|
||||
# Use the NVidia open source kernel module (not to be confused with the
|
||||
# independent third-party "nouveau" open source driver).
|
||||
# Support is limited to the Turing and later architectures. Full list of
|
||||
# supported GPUs is at:
|
||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||
# Only available from driver 515.43.04+
|
||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||
open = lib.mkDefault false;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = lib.mkDefault config.boot.kernelPackages.nvidiaPackages.production;
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = lib.mkDefault true;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = lib.mkDefault config.boot.kernelPackages.nvidiaPackages.production;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,20 +1,25 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.me;
|
||||
in
|
||||
{
|
||||
users.users.nullbite = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
packages = with pkgs; [
|
||||
keychain
|
||||
];
|
||||
initialPassword = "changeme";
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
options.nixfiles.common.me = lib.mkEnableOption "my user account";
|
||||
config = lib.mkIf cfg.enable {
|
||||
users.users.nullbite = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
packages = with pkgs; [
|
||||
keychain
|
||||
];
|
||||
initialPassword = "changeme";
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
# shell config
|
||||
programs.zsh.enable = true;
|
||||
programs.fzf = {
|
||||
keybindings = true;
|
||||
fuzzyCompletion = true;
|
||||
# shell config
|
||||
programs.zsh.enable = true;
|
||||
programs.fzf = {
|
||||
keybindings = true;
|
||||
fuzzyCompletion = true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,22 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.packageSets.multimedia;
|
||||
inherit (lib) optionals mkEnableOption mkIf;
|
||||
in
|
||||
{
|
||||
imports = [ ./cli-multimedia.nix ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
mpv
|
||||
gimp-with-plugins
|
||||
];
|
||||
options.nixfiles.packageSets.multimedia = {
|
||||
enable = mkEnableOption "multimedia packages";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; optionals config.services.xserver.enable [
|
||||
mpv
|
||||
gimp-with-plugins
|
||||
krita
|
||||
inkscape
|
||||
] ++ [
|
||||
yt-dlp
|
||||
imagemagick
|
||||
ffmpeg
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,11 +1,15 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.opengl;
|
||||
in
|
||||
{
|
||||
|
||||
# Enable OpenGL
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
options.nixfiles.common.opengl.enable = lib.mkEnableOption "OpenGL configuration";
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Enable OpenGL
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = lib.mkDefault true;
|
||||
driSupport32Bit = lib.mkDefault config.hardware.opengl.driSupport;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,19 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.nixfiles.programs.syncthing;
|
||||
in
|
||||
{
|
||||
services.syncthing = {
|
||||
enable = lib.mkDefault true;
|
||||
user = lib.mkDefault "nullbite";
|
||||
dataDir = lib.mkDefault "/home/nullbite/Documents";
|
||||
configDir = lib.mkDefault "/home/nullbite/.config/syncthing";
|
||||
options.nixfiles.programs.syncthing = {
|
||||
enable = mkEnableOption "Syncthing configuration";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.syncthing = {
|
||||
enable = lib.mkDefault true;
|
||||
user = lib.mkDefault "nullbite";
|
||||
dataDir = lib.mkDefault "/home/nullbite/Documents";
|
||||
configDir = lib.mkDefault "/home/nullbite/.config/syncthing";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,22 +1,34 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.sound;
|
||||
inherit (lib) mkEnableOption mkIf mkDefault;
|
||||
in
|
||||
{
|
||||
# Enable sound.
|
||||
# sound.enable = true;
|
||||
# hardware.pulseaudio.enable = true;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
|
||||
options.nixfiles.common.sound = {
|
||||
enable = mkEnableOption "sound configuration";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
qpwgraph
|
||||
pavucontrol
|
||||
ncpamixer
|
||||
pulsemixer
|
||||
easyeffects
|
||||
];
|
||||
config = mkIf cfg.enable {
|
||||
security.rtkit.enable = mkDefault true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = mkDefault true;
|
||||
alsa.support32Bit = mkDefault config.services.pipewire.alsa.enable;
|
||||
pulse.enable = mkDefault true;
|
||||
jack.enable = mkDefault true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
qpwgraph
|
||||
easyeffects
|
||||
] ++ optionals config.services.pipewire.pulse.enable [
|
||||
pavucontrol
|
||||
ncpamixer
|
||||
pulsemixer
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,32 +1,40 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.packageSets.gaming;
|
||||
in
|
||||
{
|
||||
# oopsies this is for home-manager
|
||||
# programs.mangohud.enable = lib.mkDefault true;
|
||||
|
||||
programs.steam = {
|
||||
enable = lib.mkDefault true;
|
||||
gamescopeSession = {
|
||||
options.nixfiles.packageSets.gaming = {
|
||||
enable = lib.mkEnableOption "gaming package set";
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.steam = {
|
||||
enable = lib.mkDefault true;
|
||||
gamescopeSession = {
|
||||
enable = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.gamemode = {
|
||||
enable = lib.mkDefault true;
|
||||
enableRenice = lib.mkDefault true;
|
||||
};
|
||||
programs.gamemode = {
|
||||
enable = lib.mkDefault true;
|
||||
enableRenice = lib.mkDefault true;
|
||||
};
|
||||
|
||||
programs.gamescope = {
|
||||
enable = lib.mkDefault true;
|
||||
capSysNice = lib.mkDefault false;
|
||||
};
|
||||
programs.gamescope = {
|
||||
enable = lib.mkDefault true;
|
||||
capSysNice = lib.mkDefault false;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
mangohud
|
||||
goverlay
|
||||
prismlauncher
|
||||
glxinfo
|
||||
vulkan-tools
|
||||
legendary-gl
|
||||
heroic
|
||||
];
|
||||
environment.systemPackages = with pkgs; [
|
||||
mangohud
|
||||
goverlay
|
||||
prismlauncher
|
||||
glxinfo
|
||||
vulkan-tools
|
||||
legendary-gl
|
||||
heroic
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,35 +1,45 @@
|
||||
{ lib, pkgs, config, ... }:
|
||||
let
|
||||
cfg = config.nixfiles.sessions.hyprland;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./desktop-common.nix
|
||||
# FIXME make this into an option
|
||||
./wm-common.nix
|
||||
];
|
||||
# imports = [
|
||||
# ./desktop-common.nix
|
||||
# # FIXME make this into an option
|
||||
# ./wm-common.nix
|
||||
# ];
|
||||
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
enableNvidiaPatches = true;
|
||||
xwayland.enable = true;
|
||||
options.nixfiles.sessions.hyprland = {
|
||||
enable = lib.mkEnableOption "hyprland configuration";
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
# TODO base this on if nvidia is enabled
|
||||
enableNvidiaPatches = lib.mkDefault true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
kitty
|
||||
dunst
|
||||
polkit-kde-agent
|
||||
eww
|
||||
hyprpaper
|
||||
rofi
|
||||
hyprpicker
|
||||
udiskie
|
||||
polkit-kde-agent
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
kitty
|
||||
dunst
|
||||
polkit-kde-agent
|
||||
eww
|
||||
hyprpaper
|
||||
rofi
|
||||
hyprpicker
|
||||
udiskie
|
||||
polkit-kde-agent
|
||||
];
|
||||
}
|
||||
|
@ -2,38 +2,48 @@
|
||||
let
|
||||
sleep = "${pkgs.coreutils}/bin/sleep";
|
||||
systemctl = "${pkgs.systemd}/bin/systemctl";
|
||||
inherit (lib) mkIf mkEnableOption mkForce mkDefault;
|
||||
cfg = config.nixfiles.session.plasma;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./desktop-common.nix
|
||||
];
|
||||
# imports = [
|
||||
# ./desktop-common.nix
|
||||
# ];
|
||||
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||
programs.kdeconnect.enable = true;
|
||||
|
||||
systemd.user = {
|
||||
services.restart-xdg-desktop-portal-kde = {
|
||||
enable = true;
|
||||
description = "hack to fix xdg-desktop-portal on kde";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
after = [ "plasma-core.target" "xdg-desktop-portal.service" ];
|
||||
requisite = [ "plasma-core.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = [
|
||||
"${sleep} 5"
|
||||
"${systemctl} --user restart xdg-desktop-portal.service"
|
||||
];
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = "yes";
|
||||
};
|
||||
};
|
||||
options.nixfiles.session.plasma = {
|
||||
enable = mkEnableOption "KDE Plasma session";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# this fixes tiny file dialogs for Minecraft
|
||||
libsForQt5.kdialog
|
||||
];
|
||||
config = mkIf cfg.enable {
|
||||
nixfiles.common.desktop.enable = true;
|
||||
|
||||
services.xserver.displayManager.sddm.enable = mkDefault true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||
programs.kdeconnect.enable = mkDefault true;
|
||||
|
||||
systemd.user = {
|
||||
services.restart-xdg-desktop-portal-kde = {
|
||||
enable = true;
|
||||
description = "hack to fix xdg-desktop-portal on kde";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
after = [ "plasma-core.target" "xdg-desktop-portal.service" ];
|
||||
requisite = [ "plasma-core.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = [
|
||||
"${sleep} 5"
|
||||
"${systemctl} --user restart xdg-desktop-portal.service"
|
||||
];
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = "yes";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# this fixes tiny file dialogs for Minecraft
|
||||
libsForQt5.kdialog
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,16 +1,23 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib; let
|
||||
cfg = config.nixfiles.common.remoteAccess;
|
||||
in
|
||||
{
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
settings = {
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
settings = {
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
services.tailscale.enable = true;
|
||||
|
||||
networking.wireguard.enable = true;
|
||||
};
|
||||
|
||||
services.tailscale.enable = true;
|
||||
|
||||
networking.wireguard.enable = true;
|
||||
options = {
|
||||
nixfiles.common.remoteAccess = mkEnbaleOption "remote access options" ; };
|
||||
}
|
||||
|
@ -1,2 +0,0 @@
|
||||
# system
|
||||
This directory contains modules and configuration specific to my NixOS configuration. `default.nix` is the entrypoint to my module set; it can safely be loaded without making any configuration changes by default.
|
@ -1,90 +0,0 @@
|
||||
{ config, lib, pkgs, options, inputs, ...}@args:
|
||||
let
|
||||
cfg = config.nixfiles.profile.base;
|
||||
in
|
||||
{
|
||||
options.nixfiles.profile.base = {
|
||||
enable = lib.mkEnableOption "base config";
|
||||
};
|
||||
# TODO was gonna add something but i forgor and now i'm too lazy
|
||||
# to delete this
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf cfg.enable {
|
||||
|
||||
# Enable my account
|
||||
nixfiles.common.me = lib.mkDefault true;
|
||||
|
||||
# locale settings
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
# Enable flakes
|
||||
nix.settings.experimental-features = ["nix-command" "flakes" ];
|
||||
|
||||
# fallback to building locally if binary cache fails (home-manager should be
|
||||
# able to handle simple rebuilds offline)
|
||||
nix.settings.fallback = true;
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# networking.hostName = "nixos"; # Define your hostname.
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networking.networkmanager.enable = lib.mkDefault true; # Easiest to use and most distros use this by default.
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
wget
|
||||
curl
|
||||
git
|
||||
git-lfs
|
||||
stow
|
||||
zsh
|
||||
ntfs3g
|
||||
openssh
|
||||
sshfs
|
||||
file
|
||||
|
||||
fd
|
||||
ripgrep
|
||||
sbctl # TODO move this elsewhere
|
||||
comma
|
||||
nil
|
||||
|
||||
# network utilities
|
||||
inetutils
|
||||
socat
|
||||
nmap
|
||||
hping
|
||||
|
||||
# system utilities
|
||||
htop
|
||||
lshw
|
||||
pciutils
|
||||
];
|
||||
|
||||
# this makes comma and legacy nix utils use the flake nixpkgs for ABI
|
||||
# compatibility becasue once `, vkcube` couldn't find the correct opengl
|
||||
# driver or something (also it reduces the download size of temporary shell
|
||||
# closures)
|
||||
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ] ++ options.nix.nixPath.default;
|
||||
|
||||
programs.ssh.enableAskPassword = false;
|
||||
programs.fuse.userAllowOther = true;
|
||||
|
||||
programs.gnupg.agent = {
|
||||
enable = lib.mkDefault true;
|
||||
enableSSHSupport = lib.mkDefault true;
|
||||
};
|
||||
|
||||
boot.loader.systemd-boot.configurationLimit = lib.mkDefault 15;
|
||||
})
|
||||
];
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
{ pkgs, config, lib, options, ... }@args:
|
||||
let
|
||||
cfg = config.nixfiles;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
config = {};
|
||||
options.nixfiles = {
|
||||
};
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
{ config, lib, pkgs, outputs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.desktop;
|
||||
inherit (lib) mkIf mkDefault mkForce mkEnableOption;
|
||||
in
|
||||
{
|
||||
# imports = [
|
||||
# ./base.nix
|
||||
# ./fragments/sound.nix
|
||||
# ./fragments/multimedia.nix
|
||||
# ./fragments/software/syncthing.nix
|
||||
# ./fragments/hardware/bluetooth.nix
|
||||
# ];
|
||||
|
||||
options.nixfiles.common.desktop = {
|
||||
enable = mkEnableOption "common desktop options";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# enable option sets
|
||||
nixfiles = {
|
||||
packageSets.multimedia.enable = true;
|
||||
common = {
|
||||
syncthing.enable = true;
|
||||
bluetooth.enable = true;
|
||||
sound.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
arc-theme
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
# Enable flatpak
|
||||
services.flatpak.enable = mkDefault true;
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = mkDefault true;
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
||||
noto-fonts-cjk
|
||||
(outputs.packages.${pkgs.system}.google-fonts.override { fonts = [ "NovaSquare" ];})
|
||||
];
|
||||
|
||||
# TODO this should be defined in home-manager or not at all probably
|
||||
# FIXME also my name is hardcoded
|
||||
users.users.nullbite = {
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.bluetooth;
|
||||
in
|
||||
{
|
||||
options.nixfiles.common.bluetooth = {
|
||||
enable = lib.mkEnableOption "Bluetooth";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
hardware.bluetooth = {
|
||||
enable = lib.mkDefault true;
|
||||
powerOnBoot = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.nvidia;
|
||||
in
|
||||
{
|
||||
# imports = [
|
||||
# ../opengl.nix
|
||||
# ];
|
||||
|
||||
# Load nvidia driver for Xorg and Wayland
|
||||
options.nixfiles.common.nvidia = {
|
||||
modesetting.enable = lib.mkEnableOption "NVIDIA configuration with modesetting";
|
||||
};
|
||||
config = lib.mkIf cfg.modesetting.enable {
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
nixfiles.common.opengl.enable = true;
|
||||
|
||||
hardware.nvidia = {
|
||||
|
||||
# Modesetting is required.
|
||||
modesetting.enable = lib.mkDefault true;
|
||||
|
||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||
powerManagement.enable = lib.mkDefault false;
|
||||
# Fine-grained power management. Turns off GPU when not in use.
|
||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||
powerManagement.finegrained = lib.mkDefault false;
|
||||
|
||||
# Use the NVidia open source kernel module (not to be confused with the
|
||||
# independent third-party "nouveau" open source driver).
|
||||
# Support is limited to the Turing and later architectures. Full list of
|
||||
# supported GPUs is at:
|
||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||
# Only available from driver 515.43.04+
|
||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||
open = lib.mkDefault false;
|
||||
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = lib.mkDefault true;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = lib.mkDefault config.boot.kernelPackages.nvidiaPackages.production;
|
||||
};
|
||||
};
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.me;
|
||||
in
|
||||
{
|
||||
options.nixfiles.common.me = lib.mkEnableOption "my user account";
|
||||
config = lib.mkIf cfg.enable {
|
||||
users.users.nullbite = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
packages = with pkgs; [
|
||||
keychain
|
||||
];
|
||||
initialPassword = "changeme";
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
# shell config
|
||||
programs.zsh.enable = true;
|
||||
programs.fzf = {
|
||||
keybindings = true;
|
||||
fuzzyCompletion = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.packageSets.multimedia;
|
||||
inherit (lib) optionals mkEnableOption mkIf;
|
||||
in
|
||||
{
|
||||
options.nixfiles.packageSets.multimedia = {
|
||||
enable = mkEnableOption "multimedia packages";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; optionals config.services.xserver.enable [
|
||||
mpv
|
||||
gimp-with-plugins
|
||||
krita
|
||||
inkscape
|
||||
] ++ [
|
||||
yt-dlp
|
||||
imagemagick
|
||||
ffmpeg
|
||||
];
|
||||
};
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.opengl;
|
||||
in
|
||||
{
|
||||
options.nixfiles.common.opengl.enable = lib.mkEnableOption "OpenGL configuration";
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Enable OpenGL
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = lib.mkDefault true;
|
||||
driSupport32Bit = lib.mkDefault config.hardware.opengl.driSupport;
|
||||
};
|
||||
};
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.nixfiles.programs.syncthing;
|
||||
in
|
||||
{
|
||||
options.nixfiles.programs.syncthing = {
|
||||
enable = mkEnableOption "Syncthing configuration";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.syncthing = {
|
||||
enable = lib.mkDefault true;
|
||||
user = lib.mkDefault "nullbite";
|
||||
dataDir = lib.mkDefault "/home/nullbite/Documents";
|
||||
configDir = lib.mkDefault "/home/nullbite/.config/syncthing";
|
||||
};
|
||||
};
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.common.sound;
|
||||
inherit (lib) mkEnableOption mkIf mkDefault;
|
||||
in
|
||||
{
|
||||
# Enable sound.
|
||||
# sound.enable = true;
|
||||
# hardware.pulseaudio.enable = true;
|
||||
|
||||
options.nixfiles.common.sound = {
|
||||
enable = mkEnableOption "sound configuration";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
security.rtkit.enable = mkDefault true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = mkDefault true;
|
||||
alsa.support32Bit = mkDefault config.services.pipewire.alsa.enable;
|
||||
pulse.enable = mkDefault true;
|
||||
jack.enable = mkDefault true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
qpwgraph
|
||||
easyeffects
|
||||
] ++ optionals config.services.pipewire.pulse.enable [
|
||||
pavucontrol
|
||||
ncpamixer
|
||||
pulsemixer
|
||||
];
|
||||
};
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
cfg = config.nixfiles.packageSets.gaming;
|
||||
in
|
||||
{
|
||||
# oopsies this is for home-manager
|
||||
# programs.mangohud.enable = lib.mkDefault true;
|
||||
|
||||
options.nixfiles.packageSets.gaming = {
|
||||
enable = lib.mkEnableOption "gaming package set";
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.steam = {
|
||||
enable = lib.mkDefault true;
|
||||
gamescopeSession = {
|
||||
enable = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.gamemode = {
|
||||
enable = lib.mkDefault true;
|
||||
enableRenice = lib.mkDefault true;
|
||||
};
|
||||
|
||||
programs.gamescope = {
|
||||
enable = lib.mkDefault true;
|
||||
capSysNice = lib.mkDefault false;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
mangohud
|
||||
goverlay
|
||||
prismlauncher
|
||||
glxinfo
|
||||
vulkan-tools
|
||||
legendary-gl
|
||||
heroic
|
||||
];
|
||||
};
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
{ lib, pkgs, config, ... }:
|
||||
let
|
||||
cfg = config.nixfiles.sessions.hyprland;
|
||||
in
|
||||
{
|
||||
# imports = [
|
||||
# ./desktop-common.nix
|
||||
# # FIXME make this into an option
|
||||
# ./wm-common.nix
|
||||
# ];
|
||||
|
||||
options.nixfiles.sessions.hyprland = {
|
||||
enable = lib.mkEnableOption "hyprland configuration";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
# TODO base this on if nvidia is enabled
|
||||
enableNvidiaPatches = lib.mkDefault true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
kitty
|
||||
dunst
|
||||
polkit-kde-agent
|
||||
eww
|
||||
hyprpaper
|
||||
rofi
|
||||
hyprpicker
|
||||
udiskie
|
||||
polkit-kde-agent
|
||||
];
|
||||
};
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
# Fragments
|
||||
These are Nix modules which aim to configure only one aspect of the system.
|
||||
This can include installing and configuring single programs such as Steam,
|
||||
MangoHud, Syncthing, or OpenSSH, as well as setting generic options for certain
|
||||
hardware setups, such as NVIDIA PRIME Offloading.
|
||||
|
||||
## TODO
|
||||
These are some fragments that I want to create:
|
||||
- hardware/nvidia
|
||||
- hardware/nvidia-supergfxd
|
||||
- hardware/printing
|
||||
- CUPS
|
||||
- QZTray (maybe?)
|
||||
- software/steam
|
||||
- software/syncthing
|
||||
- software/libreoffice
|
||||
- software/ssh
|
||||
- software/gnupg
|
||||
- software/pam-gnupg (dep. software/gnupg)
|
@ -1,9 +0,0 @@
|
||||
{ config, lib, pkgs, outputs, vars, ...}@args:
|
||||
{
|
||||
imports = [ outputs.nixosModules.adb ];
|
||||
|
||||
config = {
|
||||
programs.adb.enable = true;
|
||||
users.users.${vars.username}.extraGroups = [ "adbusers" ];
|
||||
};
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
{
|
||||
environment = {
|
||||
enableDebugInfo = true;
|
||||
systemPackages = with pkgs; [
|
||||
gdb
|
||||
];
|
||||
};
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
let
|
||||
sleep = "${pkgs.coreutils}/bin/sleep";
|
||||
systemctl = "${pkgs.systemd}/bin/systemctl";
|
||||
inherit (lib) mkIf mkEnableOption mkForce mkDefault;
|
||||
cfg = config.nixfiles.session.plasma;
|
||||
in
|
||||
{
|
||||
# imports = [
|
||||
# ./desktop-common.nix
|
||||
# ];
|
||||
|
||||
options.nixfiles.session.plasma = {
|
||||
enable = mkEnableOption "KDE Plasma session";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
nixfiles.common.desktop.enable = true;
|
||||
|
||||
services.xserver.displayManager.sddm.enable = mkDefault true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||
programs.kdeconnect.enable = mkDefault true;
|
||||
|
||||
systemd.user = {
|
||||
services.restart-xdg-desktop-portal-kde = {
|
||||
enable = true;
|
||||
description = "hack to fix xdg-desktop-portal on kde";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
after = [ "plasma-core.target" "xdg-desktop-portal.service" ];
|
||||
requisite = [ "plasma-core.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = [
|
||||
"${sleep} 5"
|
||||
"${systemctl} --user restart xdg-desktop-portal.service"
|
||||
];
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = "yes";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# this fixes tiny file dialogs for Minecraft
|
||||
libsForQt5.kdialog
|
||||
];
|
||||
};
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib; let
|
||||
cfg = config.nixfiles.common.remoteAccess;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
settings = {
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
services.tailscale.enable = true;
|
||||
|
||||
networking.wireguard.enable = true;
|
||||
};
|
||||
options = {
|
||||
nixfiles.common.remoteAccess = mkEnbaleOption "remote access options" ; };
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
{ pkgs, lib, config, options, ...}:
|
||||
let
|
||||
inherit (lib) mkDefault mkIf mkEnableOption;
|
||||
cfg = config.nixfiles.common.window-manager;
|
||||
in
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
# Common options for standalone window managers; many of these (or
|
||||
# alternatives thereof) are pulled in by desktop environments.
|
||||
services = {
|
||||
power-profiles-daemon.enable = mkDefault true;
|
||||
blueman.enable = mkDefault config.hardware.bluetooth.enable;
|
||||
};
|
||||
programs = {
|
||||
nm-applet.enable = mkDefault config.networking.networkmanager.enable;
|
||||
};
|
||||
};
|
||||
options = {
|
||||
nixfiles.common.window-manager.enable = mkEnableOption "common window manager configuration";
|
||||
};
|
||||
}
|
@ -1,15 +1,21 @@
|
||||
{ pkgs, lib, config, options, ...}:
|
||||
let
|
||||
inherit (lib) mkDefault;
|
||||
inherit (lib) mkDefault mkIf mkEnableOption;
|
||||
cfg = config.nixfiles.common.window-manager;
|
||||
in
|
||||
{
|
||||
# Common options for standalone window managers; many of these (or
|
||||
# alternatives thereof) are pulled in by desktop environments.
|
||||
services = {
|
||||
power-profiles-daemon.enable = mkDefault true;
|
||||
blueman.enable = mkDefault config.hardware.bluetooth.enable;
|
||||
config = mkIf cfg.enable {
|
||||
# Common options for standalone window managers; many of these (or
|
||||
# alternatives thereof) are pulled in by desktop environments.
|
||||
services = {
|
||||
power-profiles-daemon.enable = mkDefault true;
|
||||
blueman.enable = mkDefault config.hardware.bluetooth.enable;
|
||||
};
|
||||
programs = {
|
||||
nm-applet.enable = mkDefault config.networking.networkmanager.enable;
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
nm-applet.enable = mkDefault config.networking.networkmanager.enable;
|
||||
options = {
|
||||
nixfiles.common.window-manager.enable = mkEnableOption "common window manager configuration";
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user