rearrange imports

This commit is contained in:
tristan 2024-01-06 17:40:24 +00:00
parent 4e86180652
commit e272155088
19 changed files with 245 additions and 312 deletions

View file

@ -1,19 +1,17 @@
# https://search.nixos.org/options
user: {
{
inputs,
config,
pkgs,
lib,
...
}: {
}: let
user = config.user;
in {
imports = [
(import ./modules/gamer.nix {inherit user;})
(import ./modules/keyboard.nix {inherit user;})
(import ./modules/display.nix {inherit user;})
(import ./modules/work.nix {inherit user;})
(import ./modules/laptop.nix {inherit user;})
(import ./modules/personal.nix {inherit user;})
(import ./programs/hyprland.nix {inherit user;})
./modules/keyboard.nix
./modules/display.nix
./modules/laptop.nix
../hardware/displays.nix
];
@ -121,7 +119,7 @@ user: {
users.users.${user} = {
isNormalUser = true;
extraGroups = ["wheel" "video" "networkmanager"];
extraGroups = ["wheel" "video" "networkmanager" "kvm"];
initialPassword = "pass";
shell = pkgs.zsh;
};

View file

@ -1,12 +1,13 @@
{user}: {
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.displays;
user = config.user;
cfg = config.displays;
renderDisplaysForHyprland = displays: (map displayHyprlandSetting (builtins.filter (d: d.enable) displays));
displayHyprlandSetting = display:

View file

@ -1,35 +0,0 @@
{user}: {
lib,
pkgs,
config,
...
}:
with lib; {
options.roles.gamer = {
enable = mkEnableOption "gamer packages";
};
config = mkIf config.roles.gamer.enable {
# required for heroic launcher
nixpkgs.config.permittedInsecurePackages = [
"electron-25.9.0"
];
home-manager.users.${user}.imports = [ ../../home/programs/gamer.nix ];
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"steam"
"steam-run"
"steam-original"
"osu-lazer"
];
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
programs.gamemode.enable = true;
};
}

View file

@ -1,9 +1,9 @@
{user}: {
{
lib,
pkgs,
config,
...
}:
let user = config.user; in
with lib; {
options.keyboard = {
dvorak = {

View file

@ -1,11 +1,11 @@
{user}: {
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.roles.laptop;
user = config.user;
in {
options.roles = {
laptop = {

View file

@ -1,56 +0,0 @@
{user}: {
lib,
pkgs,
config,
...
}:
with lib; {
options.roles.personal = {
enable = mkEnableOption "personal packages";
};
config = mkIf config.roles.personal.enable {
roles.gamer.enable = true;
i18n.supportedLocales = [
"eo/UTF-8"
"en_GB.UTF-8/UTF-8"
"en_US.UTF-8/UTF-8"
];
home-manager.users.${user}.imports = [
{
roles.email = {
enable = true;
email = "tristan@tristans.cloud";
terminal = true;
};
services.nextcloud-client.enable = true;
services.gnome-keyring.enable = true;
home.language = {
base = "eo.UTF-8";
};
home.packages = with pkgs; [
godot_4
ardour
blender
musescore
jellyfin-media-player
monero-gui
electrum
xmrig
transmission-remote-gtk
krita
organicmaps
anki
hugo
libsForQt5.neochat
bookworm
];
}
];
};
}

View file

@ -1,102 +1,95 @@
{user}: {
user: {
lib,
pkgs,
config,
...
}:
with lib; {
options.roles.work = {
enable = mkEnableOption "work packages";
};
}: {
home-manager.users.${user}.imports = [
{
roles.email = {
enable = true;
email = "tristan.beedell@cryoserver.com";
terminal = false;
};
config = mkIf config.roles.work.enable {
home-manager.users.${user}.imports = [
{
roles.email = {
enable = true;
email = "tristan.beedell@cryoserver.com";
terminal = false;
};
programs.editor = {
package = pkgs.vscode;
};
programs.editor = {
package = pkgs.vscode;
};
home.packages = with pkgs; [
onedrive
kubectl
awscli2
docker-compose
minikube
kubernetes-helm
thunderbird
(import ../../lib/mkapp.nix "slack" {
inherit pkgs;
desktopName = "Slack";
app-id = "mpagibdhafmlkgpemeicgogjnhclenoc";
browser = "${brave}/opt/brave.com/brave/brave-browser";
})
(import ../../lib/mkapp.nix "teams" {
inherit pkgs;
browser = "${brave}/opt/brave.com/brave/brave-browser";
app-id = "cifhbcnohmdccbgoicgdjpfamggdegmo";
desktopName = "Microsoft Teams";
})
(pkgs.writeShellScriptBin "codex11" ''
NIXOS_OZONE_WL= ${pkgs.vscode}/bin/code $@
'')
remmina
];
gtk.gtk3.bookmarks = [
"file:///home/tristan/OneDrive/Documents/ OneDrive"
];
programs.vscode = {
extensions = with pkgs; [
vscode-extensions.ms-azuretools.vscode-docker
];
userSettings = {
"aws.telemetry" = false;
"gitlens.telemetry.enabled" = false;
"redhat.telemetry.enabled" = false;
};
};
wayland.windowManager.hyprland = {
extraConfig = ''
# === WORK MODULE ===
bind = SUPER, E, focuswindow, thunderbird
bind = SUPER, t, focuswindow, brave-cifhbcnohmdccbgoicgdjpfamggdegmo-Profile_2
'';
};
}
];
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
# nonfree vscode required for dev containers
"vscode"
"steam-run"
home.packages = with pkgs; [
onedrive
kubectl
awscli2
docker-compose
minikube
kubernetes-helm
thunderbird
(import ../../lib/mkapp.nix "slack" {
inherit pkgs;
desktopName = "Slack";
app-id = "mpagibdhafmlkgpemeicgogjnhclenoc";
browser = "${brave}/opt/brave.com/brave/brave-browser";
})
(import ../../lib/mkapp.nix "teams" {
inherit pkgs;
browser = "${brave}/opt/brave.com/brave/brave-browser";
app-id = "cifhbcnohmdccbgoicgdjpfamggdegmo";
desktopName = "Microsoft Teams";
})
(pkgs.writeShellScriptBin "codex11" ''
NIXOS_OZONE_WL= ${pkgs.vscode}/bin/code $@
'')
remmina
];
networking = {
networkmanager = {
plugins = [pkgs.networkmanager-openvpn];
};
};
gtk.gtk3.bookmarks = [
"file:///home/tristan/OneDrive/Documents/ OneDrive"
];
users.users.tristan.extraGroups = ["docker"];
virtualisation.docker = {
enable = true;
storageDriver = "btrfs";
rootless = {
enable = false;
setSocketVariable = true;
daemon.settings = {
"userns-remap" = "default";
programs.vscode = {
extensions = with pkgs; [
vscode-extensions.ms-azuretools.vscode-docker
];
userSettings = {
"aws.telemetry" = false;
"gitlens.telemetry.enabled" = false;
"redhat.telemetry.enabled" = false;
};
};
wayland.windowManager.hyprland = {
extraConfig = ''
# === WORK MODULE ===
bind = SUPER, E, focuswindow, thunderbird
bind = SUPER, t, focuswindow, brave-cifhbcnohmdccbgoicgdjpfamggdegmo-Profile_2
'';
};
}
];
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
# nonfree vscode required for dev containers
"vscode"
"steam-run"
];
networking = {
networkmanager = {
plugins = [pkgs.networkmanager-openvpn];
};
};
users.users.tristan.extraGroups = ["docker"];
virtualisation.docker = {
enable = true;
storageDriver = "btrfs";
rootless = {
enable = false;
setSocketVariable = true;
daemon.settings = {
"userns-remap" = "default";
};
};
};
}

16
nixos/programs/gamer.nix Normal file
View file

@ -0,0 +1,16 @@
{lib, ...}: {
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"steam"
"steam-run"
"steam-original"
"osu-lazer"
];
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
programs.gamemode.enable = true;
}

View file

@ -1,8 +1,6 @@
{user}: {
lib,
pkgs,
...
}: {
{config, ...}: let
user = config.user;
in {
services.greetd = {
enable = true;
settings = rec {
@ -14,5 +12,9 @@
};
};
home-manager.users.${user}.imports = [../../home/programs/hyprland.nix];
home-manager.users.${user}.imports = [
{
wayland.windowManager.hyprland.enable = true;
}
];
}

View file

@ -0,0 +1,12 @@
{...}: {
i18n.supportedLocales = [
"eo/UTF-8"
"en_GB.UTF-8/UTF-8"
"en_US.UTF-8/UTF-8"
];
virtualisation = {
podman = {
enable = true;
};
};
}