extract gnome into module
This commit is contained in:
parent
1d42925a43
commit
423a2ee604
12 changed files with 79 additions and 162 deletions
|
@ -1,7 +1,4 @@
|
||||||
{ pkgs, config, lib, ... }: {
|
{ pkgs, ... }: {
|
||||||
imports = [
|
|
||||||
./desktop-env.nix
|
|
||||||
];
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
@ -17,6 +14,9 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Enable my config for the gnome desktop environment
|
||||||
|
services.v.gnome.enable = true;
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Amsterdam";
|
time.timeZone = "Europe/Amsterdam";
|
||||||
|
|
||||||
|
@ -82,4 +82,9 @@
|
||||||
# Open ports in the firewall for Steam Remote Play
|
# Open ports in the firewall for Steam Remote Play
|
||||||
remotePlay.openFirewall = true;
|
remotePlay.openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
networking.firewall.checkReversePath = false;
|
||||||
|
networking.firewall.enable = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
{ pkgs, ...}: {
|
|
||||||
# TODO: Create Module
|
|
||||||
services.xserver.enable = true;
|
|
||||||
services.xserver.excludePackages = [ pkgs.xterm ];
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver = {
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "altgr-intl";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable the GNOME Desktop Environment.
|
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
|
||||||
services.xserver.desktopManager.gnome.enable = true;
|
|
||||||
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
|
||||||
environment.gnome.excludePackages =
|
|
||||||
(with pkgs; [ gnome-photos gnome-tour gnome-connections ])
|
|
||||||
++ (with pkgs.gnome; [
|
|
||||||
atomix # puzzle game
|
|
||||||
epiphany # web browser
|
|
||||||
geary # email reader
|
|
||||||
gedit # text editor
|
|
||||||
gnome-calendar
|
|
||||||
gnome-clocks
|
|
||||||
gnome-contacts
|
|
||||||
gnome-maps
|
|
||||||
gnome-music
|
|
||||||
gnome-notes
|
|
||||||
gnome-terminal
|
|
||||||
gnome-weather
|
|
||||||
hitori # sudoku game
|
|
||||||
iagno # go game
|
|
||||||
simple-scan # document scanner
|
|
||||||
tali # poker game
|
|
||||||
totem # video player
|
|
||||||
]);
|
|
||||||
|
|
||||||
# Services required for gnome
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
services.dbus.enable = true;
|
|
||||||
services.udisks2.enable = true;
|
|
||||||
|
|
||||||
# Extra gnome packages
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
gnome.gnome-tweaks
|
|
||||||
gnome.gnome-boxes
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -2,6 +2,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
./dns.nix
|
./dns.nix
|
||||||
./flood.nix
|
./flood.nix
|
||||||
|
./gnome
|
||||||
./unpackerr.nix
|
./unpackerr.nix
|
||||||
./vault.nix
|
./vault.nix
|
||||||
];
|
];
|
||||||
|
|
|
@ -19,7 +19,7 @@ in {
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"org/gnome/desktop/input-sources" = {
|
"org/gnome/desktop/input-sources" = {
|
||||||
sources = [ (mkTuple [ "xkb" "us+altgr-intl" ]) ];
|
sources = [ (mkTuple [ "xkb" "us+altgr-intl" ]) ];
|
||||||
xkb-options = [ "terminate:ctrl_alt_bksp" "caps:swapescape" ];
|
xkb-options = [ "terminate:ctrl_alt_bksp" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
"org/gnome/desktop/peripherals/touchpad" = {
|
"org/gnome/desktop/peripherals/touchpad" = {
|
59
nixos/common/modules/gnome/default.nix
Normal file
59
nixos/common/modules/gnome/default.nix
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
{ config, pkgs, lib, flat_hosts, ... }:
|
||||||
|
with lib;
|
||||||
|
let cfg = config.services.v.gnome;
|
||||||
|
|
||||||
|
in {
|
||||||
|
options.services.v.gnome = { enable = mkEnableOption "v.gnome"; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.xserver.excludePackages = [ pkgs.xterm ];
|
||||||
|
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
./dconf.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "altgr-intl";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the GNOME Desktop Environment.
|
||||||
|
services.xserver.displayManager.gdm.enable = true;
|
||||||
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
|
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
||||||
|
environment.gnome.excludePackages =
|
||||||
|
(with pkgs; [ gnome-photos gnome-tour gnome-connections ])
|
||||||
|
++ (with pkgs.gnome; [
|
||||||
|
atomix # puzzle game
|
||||||
|
epiphany # web browser
|
||||||
|
geary # email reader
|
||||||
|
gedit # text editor
|
||||||
|
gnome-calendar
|
||||||
|
gnome-clocks
|
||||||
|
gnome-contacts
|
||||||
|
gnome-maps
|
||||||
|
gnome-music
|
||||||
|
gnome-notes
|
||||||
|
gnome-terminal
|
||||||
|
gnome-weather
|
||||||
|
hitori # sudoku game
|
||||||
|
iagno # go game
|
||||||
|
simple-scan # document scanner
|
||||||
|
tali # poker game
|
||||||
|
totem # video player
|
||||||
|
]);
|
||||||
|
|
||||||
|
# Services required for gnome
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
services.dbus.enable = true;
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
|
||||||
|
# Extra gnome packages
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gnome.gnome-tweaks
|
||||||
|
gnome.gnome-boxes
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,7 +8,6 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-z
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-z
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./networking.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
|
|
|
@ -12,7 +12,10 @@ in {
|
||||||
home.homeDirectory = "/home/victor";
|
home.homeDirectory = "/home/victor";
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
|
|
||||||
imports = [ ./dconf.nix ./theme.nix ./neovim.nix ];
|
imports = [ ./theme.nix ./neovim.nix ];
|
||||||
|
|
||||||
|
# Custom dconf settings
|
||||||
|
dconf.settings."org/gnome/desktop/input-sources".xkb-options = [ "caps:swapescape"];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
btop
|
btop
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
_: {
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
networking.firewall.checkReversePath = false;
|
|
||||||
networking.firewall.enable = false;
|
|
||||||
}
|
|
|
@ -7,7 +7,6 @@
|
||||||
../../../common/desktop
|
../../../common/desktop
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./networking.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
|
|
|
@ -1,91 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
with lib.hm.gvariant;
|
|
||||||
let
|
|
||||||
inherit (builtins) attrNames map;
|
|
||||||
inherit (lib.attrsets) mapAttrs' nameValuePair;
|
|
||||||
generate_custom_keybindings = binds:
|
|
||||||
{
|
|
||||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
|
||||||
custom-keybindings = map (name:
|
|
||||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}/")
|
|
||||||
(attrNames binds);
|
|
||||||
};
|
|
||||||
} // mapAttrs' (name:
|
|
||||||
nameValuePair
|
|
||||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}")
|
|
||||||
binds;
|
|
||||||
in {
|
|
||||||
dconf.settings = {
|
|
||||||
"org/gnome/desktop/input-sources" = {
|
|
||||||
sources = [ (mkTuple [ "xkb" "us+altgr-intl" ]) ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/gnome/desktop/peripherals/mouse" = {
|
|
||||||
accel-profile = "flat";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/gnome/desktop/peripherals/touchpad" = {
|
|
||||||
tap-to-click = true;
|
|
||||||
two-finger-scrolling-enabled = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/gnome/mutter" = {
|
|
||||||
attach-modal-dialogs = true;
|
|
||||||
dynamic-workspaces = false;
|
|
||||||
edge-tiling = true;
|
|
||||||
focus-change-on-pointer-rest = true;
|
|
||||||
workspaces-only-on-primary = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/gnome/mutter/keybindings" = {
|
|
||||||
toggle-tiled-left = [ "<Super>bracketleft" ];
|
|
||||||
toggle-tiled-right = [ "<Super>bracketright" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/gnome/shell/keybindings" = { toggle-overview = [ "<Super>d" ]; };
|
|
||||||
|
|
||||||
"org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; };
|
|
||||||
|
|
||||||
"org/gnome/desktop/wm/preferences" = {
|
|
||||||
auto-raise = false;
|
|
||||||
num-workspaces = 6;
|
|
||||||
focus-mode = "sloppy";
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/gnome/desktop/wm/keybindings" = {
|
|
||||||
raise-or-lower = [ "<Super>s" ];
|
|
||||||
switch-applications = [ "<Super>Tab" ];
|
|
||||||
switch-applications-backward = [ "<Super>Tab" ];
|
|
||||||
move-to-workspace-1 = [ "<Shift><Super>exclam" ];
|
|
||||||
move-to-workspace-2 = [ "<Shift><Super>at" ];
|
|
||||||
move-to-workspace-3 = [ "<Shift><Super>numbersign" ];
|
|
||||||
move-to-workspace-4 = [ "<Shift><Super>dollar" ];
|
|
||||||
move-to-workspace-5 = [ "<Shift><Super>percent" ];
|
|
||||||
move-to-workspace-6 = [ "<Shift><Super>asciicircum" ];
|
|
||||||
switch-to-workspace-1 = [ "<Super>1" ];
|
|
||||||
switch-to-workspace-2 = [ "<Super>2" ];
|
|
||||||
switch-to-workspace-3 = [ "<Super>3" ];
|
|
||||||
switch-to-workspace-4 = [ "<Super>4" ];
|
|
||||||
switch-to-workspace-5 = [ "<Super>5" ];
|
|
||||||
switch-to-workspace-6 = [ "<Super>6" ];
|
|
||||||
toggle-fullscreen = [ "<Super><Shift>M" ];
|
|
||||||
toggle-maximized = [ "<Super>m" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"org/gnome/tweaks" = { show-extensions-notice = false; };
|
|
||||||
|
|
||||||
"org/gnome/boxes" = { first-run = false; };
|
|
||||||
} // generate_custom_keybindings {
|
|
||||||
"terminal" = {
|
|
||||||
binding = "<Super>Return";
|
|
||||||
command = "kgx";
|
|
||||||
name = "Open Terminal";
|
|
||||||
};
|
|
||||||
"firefox" = {
|
|
||||||
binding = "<Super>f";
|
|
||||||
command = "firefox";
|
|
||||||
name = "Open Firefox";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -11,11 +11,11 @@ in {
|
||||||
home.homeDirectory = "/home/victor";
|
home.homeDirectory = "/home/victor";
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
|
|
||||||
imports = [
|
imports = [ ./theme.nix ./neovim.nix ];
|
||||||
./dconf.nix
|
|
||||||
./theme.nix
|
dconf.settings."org/gnome/desktop/peripherals/mouse" = {
|
||||||
./neovim.nix
|
accel-profile = "flat";
|
||||||
];
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
btop
|
btop
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
_: {
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
networking.firewall.checkReversePath = false;
|
|
||||||
networking.firewall.enable = false;
|
|
||||||
}
|
|
Loading…
Reference in a new issue