Compare commits
4 commits
a630607350
...
a299d94fc6
Author | SHA1 | Date | |
---|---|---|---|
a299d94fc6 | |||
ee984ad591 | |||
303335ee3b | |||
55c622408b |
9 changed files with 186 additions and 105 deletions
|
@ -6,7 +6,7 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./desktop.nix
|
./gnome.nix
|
||||||
./sound.nix
|
./sound.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkMerge mkOption types;
|
|
||||||
cfg = config.qenya.base-graphical;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.qenya.base-graphical.desktop = mkOption {
|
|
||||||
type = types.enum [ "gnome" "plasma6" ];
|
|
||||||
default = "gnome";
|
|
||||||
example = "plasma6";
|
|
||||||
description = "Which display manager and desktop manager to use.";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable (mkMerge [
|
|
||||||
(mkIf (cfg.desktop == "gnome") {
|
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
|
||||||
services.xserver.desktopManager.gnome.enable = true;
|
|
||||||
# TODO: agree on this with randomcat as it affects her too, since for some reason this is system-wide
|
|
||||||
# environment.gnome.excludePackages = with pkgs.gnome; [
|
|
||||||
# pkgs.gnome-tour
|
|
||||||
# epiphany # GNOME Web
|
|
||||||
# geary
|
|
||||||
# gnome-calendar
|
|
||||||
# gnome-contacts
|
|
||||||
# gnome-music
|
|
||||||
# ];
|
|
||||||
})
|
|
||||||
(mkIf (cfg.desktop == "plasma6") {
|
|
||||||
services.displayManager.sddm.enable = true;
|
|
||||||
services.displayManager.sddm.wayland.enable = true;
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
})
|
|
||||||
]);
|
|
||||||
}
|
|
21
common/base-graphical/gnome.nix
Normal file
21
common/base-graphical/gnome.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkOption types;
|
||||||
|
cfg = config.qenya.base-graphical;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.displayManager.gdm.enable = true;
|
||||||
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
|
# TODO: agree on this with randomcat as it affects her too, since for some reason this is system-wide
|
||||||
|
# environment.gnome.excludePackages = with pkgs.gnome; [
|
||||||
|
# pkgs.gnome-tour
|
||||||
|
# epiphany # GNOME Web
|
||||||
|
# geary
|
||||||
|
# gnome-calendar
|
||||||
|
# gnome-contacts
|
||||||
|
# gnome-music
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
}
|
30
flake.nix
30
flake.nix
|
@ -88,11 +88,7 @@
|
||||||
# However, note CppNix >= 2.22.3, >= 2.24 has blessed "homeModules":
|
# However, note CppNix >= 2.22.3, >= 2.24 has blessed "homeModules":
|
||||||
# https://github.com/NixOS/nix/pull/10858
|
# https://github.com/NixOS/nix/pull/10858
|
||||||
flake.homeManagerModules = {
|
flake.homeManagerModules = {
|
||||||
"qenya".imports = [
|
"qenya".imports = [ ./home/qenya ];
|
||||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
|
||||||
./home/qenya
|
|
||||||
];
|
|
||||||
|
|
||||||
"qenya@shaw".imports = [ ./hosts/shaw/home.nix ];
|
"qenya@shaw".imports = [ ./hosts/shaw/home.nix ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -118,7 +114,12 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
flake.colmena = {
|
flake.colmena =
|
||||||
|
let
|
||||||
|
home-manager = inputs.home-manager.nixosModules.home-manager;
|
||||||
|
home-manager-unstable = inputs.home-manager-unstable.nixosModules.home-manager;
|
||||||
|
in
|
||||||
|
{
|
||||||
meta = {
|
meta = {
|
||||||
nixpkgs = import nixpkgs-unstable {
|
nixpkgs = import nixpkgs-unstable {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
@ -127,7 +128,7 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
nodeNixpkgs = {
|
nodeNixpkgs = {
|
||||||
kilgharrah = import nixpkgs { system = "x86_64-linux"; };
|
kilgharrah = import nixpkgs-unstable { system = "x86_64-linux"; };
|
||||||
tohru = import nixpkgs { system = "x86_64-linux"; };
|
tohru = import nixpkgs { system = "x86_64-linux"; };
|
||||||
elucredassa = import nixpkgs-small { system = "x86_64-linux"; };
|
elucredassa = import nixpkgs-small { system = "x86_64-linux"; };
|
||||||
yevaud = import nixpkgs-small { system = "x86_64-linux"; };
|
yevaud = import nixpkgs-small { system = "x86_64-linux"; };
|
||||||
|
@ -147,7 +148,6 @@
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.lix-module.nixosModules.default
|
inputs.lix-module.nixosModules.default
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
inputs.agenix.nixosModules.default
|
inputs.agenix.nixosModules.default
|
||||||
inputs.birdsong.nixosModules.default
|
inputs.birdsong.nixosModules.default
|
||||||
./common
|
./common
|
||||||
|
@ -160,13 +160,13 @@
|
||||||
tohru.deployment.targetHost = null; # disable remote deployment
|
tohru.deployment.targetHost = null; # disable remote deployment
|
||||||
elucredassa.deployment.targetHost = "10.127.3.2"; # no fqdn yet
|
elucredassa.deployment.targetHost = "10.127.3.2"; # no fqdn yet
|
||||||
|
|
||||||
kilgharrah.imports = [ ./hosts/kilgharrah ];
|
kilgharrah.imports = [ ./hosts/kilgharrah home-manager-unstable ];
|
||||||
tohru.imports = [ ./hosts/tohru ];
|
tohru.imports = [ ./hosts/tohru home-manager ];
|
||||||
elucredassa.imports = [ ./hosts/elucredassa ];
|
elucredassa.imports = [ ./hosts/elucredassa home-manager ];
|
||||||
yevaud.imports = [ ./hosts/yevaud ];
|
yevaud.imports = [ ./hosts/yevaud home-manager ];
|
||||||
orm.imports = [ ./hosts/orm ];
|
orm.imports = [ ./hosts/orm home-manager ];
|
||||||
kalessin.imports = [ ./hosts/kalessin ];
|
kalessin.imports = [ ./hosts/kalessin home-manager ];
|
||||||
tehanu.imports = [ ./hosts/tehanu ];
|
tehanu.imports = [ ./hosts/tehanu home-manager ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./dconf
|
./dconf
|
||||||
./plasma
|
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./fontconfig.nix
|
./fonts.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
./tmux.nix
|
./tmux.nix
|
||||||
|
|
|
@ -13,5 +13,5 @@ mkIf isGraphical {
|
||||||
meslo-lgs-nf
|
meslo-lgs-nf
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.vscode.userSettings."terminal.integrated.fontFamily" = "MesloLGS NF";
|
programs.vscode.profiles.default.userSettings."terminal.integrated.fontFamily" = "MesloLGS NF";
|
||||||
}
|
}
|
|
@ -1,11 +0,0 @@
|
||||||
{ config, lib, pkgs, osConfig, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
isPlasma = osConfig.services.desktopManager.plasma6.enable || osConfig.services.xserver.desktopManager.plasma5.enable;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.plasma.enable = isPlasma;
|
|
||||||
programs.plasma.overrideConfig = true;
|
|
||||||
|
|
||||||
imports = [ ];
|
|
||||||
}
|
|
|
@ -9,6 +9,8 @@ in
|
||||||
./filesystems.nix
|
./filesystems.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./networking.nix
|
./networking.nix
|
||||||
|
./plasma.nix
|
||||||
|
|
||||||
./ftp.nix
|
./ftp.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -20,7 +22,6 @@ in
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
|
||||||
qenya.base-graphical.enable = true;
|
qenya.base-graphical.enable = true;
|
||||||
qenya.base-graphical.desktop = "plasma6";
|
|
||||||
|
|
||||||
time.timeZone = "Europe/London";
|
time.timeZone = "Europe/London";
|
||||||
i18n.defaultLocale = "en_GB.UTF-8";
|
i18n.defaultLocale = "en_GB.UTF-8";
|
||||||
|
@ -33,8 +34,6 @@ in
|
||||||
fountain.admins = [ "qenya" ];
|
fountain.admins = [ "qenya" ];
|
||||||
home-manager.users.qenya = { pkgs, ... }: {
|
home-manager.users.qenya = { pkgs, ... }: {
|
||||||
home.packages = with pkgs; [ obs-studio ];
|
home.packages = with pkgs; [ obs-studio ];
|
||||||
# For the moment, this hosts some network-accessible services, so we want it on 24/7
|
|
||||||
programs.plasma.powerdevil.AC.autoSuspend.action = "nothing";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
qenya.services.remote-builder = {
|
qenya.services.remote-builder = {
|
||||||
|
|
108
hosts/kilgharrah/plasma.nix
Normal file
108
hosts/kilgharrah/plasma.nix
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkForce;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.xserver.displayManager.gdm.enable = mkForce false;
|
||||||
|
services.xserver.desktopManager.gnome.enable = mkForce false;
|
||||||
|
services.displayManager.sddm.enable = true;
|
||||||
|
services.displayManager.sddm.wayland.enable = true;
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
(catppuccin-kde.override {
|
||||||
|
flavour = [ "mocha" ];
|
||||||
|
accents = [ "mauve" ];
|
||||||
|
winDecStyles = [ "modern" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.users.qenya = { pkgs, ... }: {
|
||||||
|
imports = [
|
||||||
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.plasma = {
|
||||||
|
enable = true;
|
||||||
|
overrideConfig = true;
|
||||||
|
|
||||||
|
workspace = {
|
||||||
|
lookAndFeel = "Catppuccin-Mocha-Mauve";
|
||||||
|
colorScheme = "CatppuccinMochaMauve";
|
||||||
|
splashScreen.engine = "KSplashQML";
|
||||||
|
splashScreen.theme = "Catppuccin-Mocha-Mauve";
|
||||||
|
windowDecorations.library = "org.kde.kwin.aurorae";
|
||||||
|
windowDecorations.theme = "__aurorae__svg__CatppuccinMocha-Modern";
|
||||||
|
};
|
||||||
|
|
||||||
|
# For the moment, this hosts some network-accessible services, so we want it on 24/7
|
||||||
|
powerdevil.AC.autoSuspend.action = "nothing";
|
||||||
|
|
||||||
|
panels = [
|
||||||
|
# Dock
|
||||||
|
{
|
||||||
|
height = 49; # 41 * 1.2
|
||||||
|
lengthMode = "fit";
|
||||||
|
location = "bottom";
|
||||||
|
alignment = "center";
|
||||||
|
hiding = "dodgewindows";
|
||||||
|
widgets = [{
|
||||||
|
name = "org.kde.plasma.icontasks";
|
||||||
|
config.General = {
|
||||||
|
fill = false;
|
||||||
|
iconSpacing = 2;
|
||||||
|
launchers = lib.concatStringsSep "," [
|
||||||
|
"applications:discord.desktop"
|
||||||
|
"applications:firefox.desktop"
|
||||||
|
"applications:codium-url-handler.desktop"
|
||||||
|
"applications:steam.desktop"
|
||||||
|
"applications:org.kde.dolphin.desktop"
|
||||||
|
"applications:org.kde.konsole.desktop"
|
||||||
|
"applications:org.kde.plasma-systemmonitor.desktop"
|
||||||
|
];
|
||||||
|
maxStripes = 1;
|
||||||
|
showOnlyCurrentDesktop = false;
|
||||||
|
showOnlyCurrentScreen = false;
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
screen = "all";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Top bar
|
||||||
|
{
|
||||||
|
height = 29; # 24 * 1.2
|
||||||
|
location = "top";
|
||||||
|
alignment = "left";
|
||||||
|
floating = false;
|
||||||
|
widgets = [
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.kickoff";
|
||||||
|
config.General = {
|
||||||
|
lengthFirstMargin = 7;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{ name = "org.kde.plasma.panelspacer"; }
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.digitalclock";
|
||||||
|
config.Appearance = {
|
||||||
|
autoFontAndSize = false;
|
||||||
|
customDateFormat = "dddd, d MMM";
|
||||||
|
dateDisplayFormat = "BesideTime";
|
||||||
|
dateFormat = "custom";
|
||||||
|
fontFamily = "Inter";
|
||||||
|
fontStyleName = "Bold";
|
||||||
|
fontWeight = 700;
|
||||||
|
boldText = true;
|
||||||
|
showWeekNumbers = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{ name = "org.kde.plasma.panelspacer"; }
|
||||||
|
{ name = "org.kde.plasma.systemtray"; }
|
||||||
|
];
|
||||||
|
screen = "all";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue