Compare commits
No commits in common. "a299d94fc62b62195b7ea02850d2a442fc39dfc5" and "a630607350ad1d23f19bd1f35a9e65ca37a32d42" have entirely different histories.
a299d94fc6
...
a630607350
9 changed files with 105 additions and 186 deletions
|
@ -6,7 +6,7 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./gnome.nix
|
./desktop.nix
|
||||||
./sound.nix
|
./sound.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
35
common/base-graphical/desktop.nix
Normal file
35
common/base-graphical/desktop.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ 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;
|
||||||
|
})
|
||||||
|
]);
|
||||||
|
}
|
|
@ -1,21 +0,0 @@
|
||||||
{ 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
|
|
||||||
# ];
|
|
||||||
};
|
|
||||||
}
|
|
104
flake.nix
104
flake.nix
|
@ -88,7 +88,11 @@
|
||||||
# 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 = [ ./home/qenya ];
|
"qenya".imports = [
|
||||||
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||||
|
./home/qenya
|
||||||
|
];
|
||||||
|
|
||||||
"qenya@shaw".imports = [ ./hosts/shaw/home.nix ];
|
"qenya@shaw".imports = [ ./hosts/shaw/home.nix ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -114,59 +118,55 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
flake.colmena =
|
flake.colmena = {
|
||||||
let
|
meta = {
|
||||||
home-manager = inputs.home-manager.nixosModules.home-manager;
|
nixpkgs = import nixpkgs-unstable {
|
||||||
home-manager-unstable = inputs.home-manager-unstable.nixosModules.home-manager;
|
system = "x86_64-linux";
|
||||||
in
|
overlays = [
|
||||||
{
|
inputs.lix-module.overlays.default
|
||||||
meta = {
|
|
||||||
nixpkgs = import nixpkgs-unstable {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
overlays = [
|
|
||||||
inputs.lix-module.overlays.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
nodeNixpkgs = {
|
|
||||||
kilgharrah = import nixpkgs-unstable { system = "x86_64-linux"; };
|
|
||||||
tohru = import nixpkgs { system = "x86_64-linux"; };
|
|
||||||
elucredassa = import nixpkgs-small { system = "x86_64-linux"; };
|
|
||||||
yevaud = import nixpkgs-small { system = "x86_64-linux"; };
|
|
||||||
orm = import nixpkgs-small { system = "x86_64-linux"; };
|
|
||||||
kalessin = import nixpkgs-small { system = "aarch64-linux"; };
|
|
||||||
tehanu = import nixpkgs-small { system = "aarch64-linux"; };
|
|
||||||
};
|
|
||||||
specialArgs = {
|
|
||||||
inherit self;
|
|
||||||
inherit inputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
defaults = { config, lib, pkgs, ... }: {
|
|
||||||
deployment.targetHost = lib.mkDefault config.networking.fqdn;
|
|
||||||
deployment.buildOnTarget = lib.mkDefault true;
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
inputs.lix-module.nixosModules.default
|
|
||||||
inputs.agenix.nixosModules.default
|
|
||||||
inputs.birdsong.nixosModules.default
|
|
||||||
./common
|
|
||||||
./services
|
|
||||||
(builtins.toPath "${inputs.randomcat}/services/default.nix")
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
nodeNixpkgs = {
|
||||||
kilgharrah.deployment.targetHost = null; # disable remote deployment
|
kilgharrah = import nixpkgs { system = "x86_64-linux"; };
|
||||||
tohru.deployment.targetHost = null; # disable remote deployment
|
tohru = import nixpkgs { system = "x86_64-linux"; };
|
||||||
elucredassa.deployment.targetHost = "10.127.3.2"; # no fqdn yet
|
elucredassa = import nixpkgs-small { system = "x86_64-linux"; };
|
||||||
|
yevaud = import nixpkgs-small { system = "x86_64-linux"; };
|
||||||
kilgharrah.imports = [ ./hosts/kilgharrah home-manager-unstable ];
|
orm = import nixpkgs-small { system = "x86_64-linux"; };
|
||||||
tohru.imports = [ ./hosts/tohru home-manager ];
|
kalessin = import nixpkgs-small { system = "aarch64-linux"; };
|
||||||
elucredassa.imports = [ ./hosts/elucredassa home-manager ];
|
tehanu = import nixpkgs-small { system = "aarch64-linux"; };
|
||||||
yevaud.imports = [ ./hosts/yevaud home-manager ];
|
};
|
||||||
orm.imports = [ ./hosts/orm home-manager ];
|
specialArgs = {
|
||||||
kalessin.imports = [ ./hosts/kalessin home-manager ];
|
inherit self;
|
||||||
tehanu.imports = [ ./hosts/tehanu home-manager ];
|
inherit inputs;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
defaults = { config, lib, pkgs, ... }: {
|
||||||
|
deployment.targetHost = lib.mkDefault config.networking.fqdn;
|
||||||
|
deployment.buildOnTarget = lib.mkDefault true;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
inputs.lix-module.nixosModules.default
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
inputs.birdsong.nixosModules.default
|
||||||
|
./common
|
||||||
|
./services
|
||||||
|
(builtins.toPath "${inputs.randomcat}/services/default.nix")
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
kilgharrah.deployment.targetHost = null; # disable remote deployment
|
||||||
|
tohru.deployment.targetHost = null; # disable remote deployment
|
||||||
|
elucredassa.deployment.targetHost = "10.127.3.2"; # no fqdn yet
|
||||||
|
|
||||||
|
kilgharrah.imports = [ ./hosts/kilgharrah ];
|
||||||
|
tohru.imports = [ ./hosts/tohru ];
|
||||||
|
elucredassa.imports = [ ./hosts/elucredassa ];
|
||||||
|
yevaud.imports = [ ./hosts/yevaud ];
|
||||||
|
orm.imports = [ ./hosts/orm ];
|
||||||
|
kalessin.imports = [ ./hosts/kalessin ];
|
||||||
|
tehanu.imports = [ ./hosts/tehanu ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./dconf
|
./dconf
|
||||||
|
./plasma
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./fonts.nix
|
./fontconfig.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.profiles.default.userSettings."terminal.integrated.fontFamily" = "MesloLGS NF";
|
programs.vscode.userSettings."terminal.integrated.fontFamily" = "MesloLGS NF";
|
||||||
}
|
}
|
11
home/qenya/plasma/default.nix
Normal file
11
home/qenya/plasma/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ 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,8 +9,6 @@ in
|
||||||
./filesystems.nix
|
./filesystems.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./networking.nix
|
./networking.nix
|
||||||
./plasma.nix
|
|
||||||
|
|
||||||
./ftp.nix
|
./ftp.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -22,6 +20,7 @@ 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";
|
||||||
|
@ -34,6 +33,8 @@ 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 = {
|
||||||
|
|
|
@ -1,108 +0,0 @@
|
||||||
{ 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