rearrange imports
This commit is contained in:
parent
4e86180652
commit
e272155088
19 changed files with 245 additions and 312 deletions
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
{user}: {
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let user = config.user; in
|
||||
with lib; {
|
||||
options.keyboard = {
|
||||
dvorak = {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
{user}: {
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.roles.laptop;
|
||||
user = config.user;
|
||||
in {
|
||||
options.roles = {
|
||||
laptop = {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -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
16
nixos/programs/gamer.nix
Normal 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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
|||
12
nixos/programs/personal.nix
Normal file
12
nixos/programs/personal.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue