Compare commits

..

11 Commits

20 changed files with 173 additions and 36 deletions

View File

@@ -13,8 +13,8 @@
outputs = { self, nixpkgs, ... } @ inputs: {
nixosConfigurations.z790prors-nix = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./roles
./machines/z790prors/configuration.nix
inputs.home-manager.nixosModules.home-manager
{
@@ -43,8 +43,8 @@
nixosConfigurations.boxy = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./roles
./machines/boxy/configuration.nix
inputs.home-manager.nixosModules.home-manager
{

View File

@@ -1,7 +1,7 @@
{ pkgs, ... }:
let
nextcloudTalkDesktop = pkgs.callPackage ./modules/applications/nextcloud-talk-desktop/package.nix {};
nextcloudTalkDesktop = pkgs.callPackage ./modules/nextcloud-talk-desktop/package.nix {};
in
{
# Home Manager needs a bit of information about you and the paths it should
@@ -106,9 +106,9 @@ in
nixpkgs.config.allowUnfree = true;
imports = [
./modules/applications/emacs/default.nix
./modules/games/lutris/default.nix
./modules/window_managers/i3/default.nix
./modules/emacs
./modules/lutris
./modules/i3+sway
];
programs.bash.enable = true;

View File

@@ -3,6 +3,10 @@
{
imports = [
./home-default.nix
./modules/window_managers/hyprland/nix-book.nix
./modules/hyprland/nix-book.nix
];
home.i3_sway.extraSwayConfig = {
output.eDP-1.scale = "1.75";
};
}

View File

@@ -3,6 +3,6 @@
{
imports = [
./home-default.nix
./modules/window_managers/hyprland/z790prors.nix
./modules/hyprland/z790prors.nix
];
}

View File

Before

Width:  |  Height:  |  Size: 842 KiB

After

Width:  |  Height:  |  Size: 842 KiB

View File

@@ -0,0 +1,129 @@
{ config, lib, ... }:
with lib;
let
cfg = config.home.i3_sway;
i3_cfg = config.xsession.windowManager.i3.config;
shared_config = recursiveUpdate {
modifier = "Mod4";
terminal = "kitty";
defaultWorkspace = "workspace number 1";
} cfg.extraSharedConfig;
in {
options.home.i3_sway = {
extraSharedConfig = mkOption {
default = {};
};
extraI3Config = mkOption {
default = {};
};
extraSwayConfig = mkOption {
default = {};
};
};
config = {
xsession.windowManager.i3 = let
base_i3_config = recursiveUpdate shared_config {
keybindings = {
"${shared_config.modifier}+Return" = "exec ${i3_cfg.terminal}";
"${shared_config.modifier}+Shift+q" = "kill";
"${shared_config.modifier}+d" = "exec ${i3_cfg.menu}";
"${shared_config.modifier}+h" = "focus left";
"${shared_config.modifier}+j" = "focus down";
"${shared_config.modifier}+k" = "focus up";
"${shared_config.modifier}+l" = "focus right";
"${shared_config.modifier}+Shift+h" = "move left";
"${shared_config.modifier}+Shift+j" = "move down";
"${shared_config.modifier}+Shift+k" = "move up";
"${shared_config.modifier}+Shift+l" = "move right";
"${shared_config.modifier}+Left" = "focus left";
"${shared_config.modifier}+Down" = "focus down";
"${shared_config.modifier}+Up" = "focus up";
"${shared_config.modifier}+Right" = "focus right";
"${shared_config.modifier}+Shift+Left" = "move left";
"${shared_config.modifier}+Shift+Down" = "move down";
"${shared_config.modifier}+Shift+Up" = "move up";
"${shared_config.modifier}+Shift+Right" = "move right";
#"${shared_config.modifier}+h" = "split h";
"${shared_config.modifier}+v" = "split v";
"${shared_config.modifier}+f" = "fullscreen toggle";
"${shared_config.modifier}+s" = "layout stacking";
"${shared_config.modifier}+w" = "layout tabbed";
"${shared_config.modifier}+e" = "layout toggle split";
"${shared_config.modifier}+Shift+space" = "floating toggle";
"${shared_config.modifier}+space" = "focus mode_toggle";
"${shared_config.modifier}+a" = "focus parent";
"${shared_config.modifier}+Shift+minus" = "move scratchpad";
"${shared_config.modifier}+minus" = "scratchpad show";
"${shared_config.modifier}+1" = "workspace number 1";
"${shared_config.modifier}+2" = "workspace number 2";
"${shared_config.modifier}+3" = "workspace number 3";
"${shared_config.modifier}+4" = "workspace number 4";
"${shared_config.modifier}+5" = "workspace number 5";
"${shared_config.modifier}+6" = "workspace number 6";
"${shared_config.modifier}+7" = "workspace number 7";
"${shared_config.modifier}+8" = "workspace number 8";
"${shared_config.modifier}+9" = "workspace number 9";
"${shared_config.modifier}+0" = "workspace number 10";
"${shared_config.modifier}+Shift+1" =
"move container to workspace number 1";
"${shared_config.modifier}+Shift+2" =
"move container to workspace number 2";
"${shared_config.modifier}+Shift+3" =
"move container to workspace number 3";
"${shared_config.modifier}+Shift+4" =
"move container to workspace number 4";
"${shared_config.modifier}+Shift+5" =
"move container to workspace number 5";
"${shared_config.modifier}+Shift+6" =
"move container to workspace number 6";
"${shared_config.modifier}+Shift+7" =
"move container to workspace number 7";
"${shared_config.modifier}+Shift+8" =
"move container to workspace number 8";
"${shared_config.modifier}+Shift+9" =
"move container to workspace number 9";
"${shared_config.modifier}+Shift+0" =
"move container to workspace number 10";
"${shared_config.modifier}+Shift+c" = "reload";
"${shared_config.modifier}+Shift+r" = "restart";
"${shared_config.modifier}+Shift+e" =
"exec i3-nagbar -t warning -m 'Do you want to exit i3?' -b 'Yes' 'i3-msg exit'";
"${shared_config.modifier}+r" = "mode resize";
};
};
in {
enable = true;
config = recursiveUpdate base_i3_config cfg.extraI3Config;
};
wayland.windowManager.sway = let
base_sway_config = recursiveUpdate shared_config {
input = {
"type:keyboard" = {
xkb_options = "caps:escape";
};
};
};
in {
enable = true;
config = recursiveUpdate base_sway_config cfg.extraSwayConfig;
};
};
}

View File

@@ -1,10 +0,0 @@
{ config, lib, pkgs, ... }:
{
xsession.windowManager.i3 = {
enable = true;
config = {
modifier = "Mod4";
};
};
}

View File

@@ -2,18 +2,23 @@
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }:
{ ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
../../roles/common/default.nix
../../roles/nix/default.nix
(import ../../roles/kodi/default.nix { autologin = true; wayland = true; inherit lib; inherit pkgs; })
(import ../../roles/users/default.nix { extraGroups = []; })
];
roles = {
kodi = {
enable = true;
autologin = true;
wayland = true;
};
users.enable = true;
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;

View File

@@ -2,23 +2,30 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ inputs, lib, pkgs, ... }:
{ ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
../../roles/common/default.nix
(import ../../roles/desktop/default.nix { x11Only = true; inherit inputs; inherit pkgs; })
../../roles/kids/default.nix
(import ../../roles/kodi/default.nix { autologin = false; wayland = false; inherit lib; inherit pkgs; })
../../roles/nfs-mounts/default.nix
../../roles/nix/default.nix
../../roles/printing/default.nix
(import ../../roles/users/default.nix { extraGroups = ["input" "libvirtd"]; })
../../roles/virtualisation/default.nix
];
roles = {
desktop = {
enable = true;
x11Only = true;
};
kodi.enable = true;
nfs-mounts.enable = true;
printing.enable = true;
users = {
enable = true;
extraGroups = [ "input" "libvirtd" ];
kids = true;
};
virtualisation.enable = true;
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;

View File

@@ -22,8 +22,10 @@ in
options = "caps:escape";
};
services.xserver.enable = true;
services.xserver.displayManager = {
lightdm.enable = true;
services.displayManager.sddm = {
enable = true;
wayland.enable = !cfg.x11Only;
};
services.desktopManager.plasma6.enable = true;