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
|
||||
{
|
||||
imports = [
|
||||
./desktop.nix
|
||||
./gnome.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
|
||||
# ];
|
||||
};
|
||||
}
|
104
flake.nix
104
flake.nix
|
@ -88,11 +88,7 @@
|
|||
# However, note CppNix >= 2.22.3, >= 2.24 has blessed "homeModules":
|
||||
# https://github.com/NixOS/nix/pull/10858
|
||||
flake.homeManagerModules = {
|
||||
"qenya".imports = [
|
||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||
./home/qenya
|
||||
];
|
||||
|
||||
"qenya".imports = [ ./home/qenya ];
|
||||
"qenya@shaw".imports = [ ./hosts/shaw/home.nix ];
|
||||
};
|
||||
|
||||
|
@ -118,55 +114,59 @@
|
|||
};
|
||||
};
|
||||
|
||||
flake.colmena = {
|
||||
meta = {
|
||||
nixpkgs = import nixpkgs-unstable {
|
||||
system = "x86_64-linux";
|
||||
overlays = [
|
||||
inputs.lix-module.overlays.default
|
||||
flake.colmena =
|
||||
let
|
||||
home-manager = inputs.home-manager.nixosModules.home-manager;
|
||||
home-manager-unstable = inputs.home-manager-unstable.nixosModules.home-manager;
|
||||
in
|
||||
{
|
||||
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 = import nixpkgs { 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;
|
||||
};
|
||||
|
||||
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 home-manager-unstable ];
|
||||
tohru.imports = [ ./hosts/tohru home-manager ];
|
||||
elucredassa.imports = [ ./hosts/elucredassa home-manager ];
|
||||
yevaud.imports = [ ./hosts/yevaud home-manager ];
|
||||
orm.imports = [ ./hosts/orm home-manager ];
|
||||
kalessin.imports = [ ./hosts/kalessin home-manager ];
|
||||
tehanu.imports = [ ./hosts/tehanu home-manager ];
|
||||
};
|
||||
|
||||
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,9 +1,8 @@
|
|||
{
|
||||
imports = [
|
||||
./dconf
|
||||
./plasma
|
||||
./firefox.nix
|
||||
./fontconfig.nix
|
||||
./fonts.nix
|
||||
./git.nix
|
||||
./packages.nix
|
||||
./tmux.nix
|
||||
|
|
|
@ -13,5 +13,5 @@ mkIf isGraphical {
|
|||
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
|
||||
./hardware.nix
|
||||
./networking.nix
|
||||
./plasma.nix
|
||||
|
||||
./ftp.nix
|
||||
];
|
||||
|
||||
|
@ -20,7 +22,6 @@ in
|
|||
boot.kernelModules = [ "kvm-intel" ];
|
||||
|
||||
qenya.base-graphical.enable = true;
|
||||
qenya.base-graphical.desktop = "plasma6";
|
||||
|
||||
time.timeZone = "Europe/London";
|
||||
i18n.defaultLocale = "en_GB.UTF-8";
|
||||
|
@ -33,8 +34,6 @@ in
|
|||
fountain.admins = [ "qenya" ];
|
||||
home-manager.users.qenya = { pkgs, ... }: {
|
||||
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 = {
|
||||
|
|
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