Merge Dev with main #21
21 changed files with 185 additions and 118 deletions
|
|
@ -23,48 +23,24 @@ in {
|
||||||
# Home Manager integration
|
# Home Manager integration
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
|
||||||
|
# nixos95
|
||||||
|
inputs.self.nixosModules.nixos95
|
||||||
|
|
||||||
];
|
];
|
||||||
################################################################
|
################################################################
|
||||||
# Display & Desktop Environment
|
# Display & Desktop Environment
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
services.xserver = {
|
nixos95 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
desktopManager.xfce.enable = true;
|
user = username;
|
||||||
xkb = {
|
|
||||||
layout = "de";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xserver.displayManager.lightdm.enable = false;
|
|
||||||
|
|
||||||
services.displayManager.sddm = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.qt6Packages.sddm;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
# System Packages (XFCE & Utilities)
|
# System Packages (XFCE & Utilities)
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
xdg-desktop-portal-gtk
|
|
||||||
|
|
||||||
# XFCE Core
|
|
||||||
xfce.xfwm4
|
|
||||||
xfce.xfce4-panel
|
|
||||||
xfce.xfce4-session
|
|
||||||
xfce.xfce4-settings
|
|
||||||
xfce.thunar
|
|
||||||
xfce.mousepad
|
|
||||||
xfce.xfce4-terminal
|
|
||||||
xfce.xfce4-appfinder
|
|
||||||
xfce.xfce4-power-manager
|
|
||||||
xfce.xfce4-notifyd
|
|
||||||
xfce.xfce4-whiskermenu-plugin
|
|
||||||
|
|
||||||
# Optional Extras
|
# Optional Extras
|
||||||
xfce.gigolo
|
xfce.gigolo
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,6 @@ in {
|
||||||
# All Home Manager Modules
|
# All Home Manager Modules
|
||||||
../../../../Modules/Applications
|
../../../../Modules/Applications
|
||||||
|
|
||||||
# Extended Retro theme
|
|
||||||
../../../../Modules/Desktops/XFCE-retro
|
|
||||||
|
|
||||||
# Desktop applications
|
# Desktop applications
|
||||||
./desktop.nix
|
./desktop.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
|
|
||||||
chicago95 = pkgs.callPackage ../../../Ressources/Themes/Chicago95/chicago95.nix {};
|
|
||||||
dotfilesPath = ./Dotfiles;
|
|
||||||
resourcesPath = ../../../Ressources;
|
|
||||||
wallpaperFile = "Wallpaper/NixOS-95-wallpaper.png";
|
|
||||||
wallpaperPath = "${config.home.homeDirectory}/${wallpaperFile}";
|
|
||||||
wallpaperOrigin = "${resourcesPath}/Images/Wallpapers/Wallpaper-1.png";
|
|
||||||
dotfiles = "${dotfilesPath}";
|
|
||||||
in {
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
theme = {
|
|
||||||
name = "Chicago95";
|
|
||||||
package = chicago95;
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
name = "Win95_plus";
|
|
||||||
package = pkgs.callPackage ../../../Ressources/Themes/Win95_plus/win95_plus.nix {};
|
|
||||||
};
|
|
||||||
cursorTheme = {
|
|
||||||
name = "Chicago95";
|
|
||||||
package = chicago95;
|
|
||||||
};
|
|
||||||
font = {
|
|
||||||
name = "Sans";
|
|
||||||
size = 12;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.pointerCursor = {
|
|
||||||
name = "Chicago95";
|
|
||||||
package = chicago95;
|
|
||||||
size = 24;
|
|
||||||
gtk.enable = true;
|
|
||||||
x11.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
xfce.xfce4-panel
|
|
||||||
xfce.xfconf
|
|
||||||
xfce.xfdesktop
|
|
||||||
xfce.xfce4-whiskermenu-plugin
|
|
||||||
xfce.xfce4-docklike-plugin
|
|
||||||
xorg.xrandr
|
|
||||||
];
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
"${wallpaperFile}" = {
|
|
||||||
source = wallpaperOrigin;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile = {
|
|
||||||
"xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml".source = "${dotfiles}/xfce4-desktop.xml";
|
|
||||||
"xfce4/xfconf/xfce-perchannel-xml/xfce4-sessions.xml".source = "${dotfiles}/xfce4-sessions.xml";
|
|
||||||
"xfce4/xfconf/xfce-perchannel-xml/xsettings.xml".source = "${dotfiles}/xsettings.xml";
|
|
||||||
"xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml".source = "${dotfiles}/xfwm4.xml";
|
|
||||||
"xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml".source = "${dotfiles}/xfce4-keyboard-shortcuts.xml";
|
|
||||||
|
|
||||||
# Panel:
|
|
||||||
"xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml".source = "${dotfiles}/xfce4-panel.xml";
|
|
||||||
"xfce4/panel/launcher-13/brave.desktop".source = "${dotfiles}/launcher-13/brave.desktop";
|
|
||||||
"xfce4/panel/launcher-14/signal.desktop".source = "${dotfiles}/launcher-14/signal.desktop";
|
|
||||||
"xfce4/panel/launcher-15/obsidian.desktop".source = "${dotfiles}/launcher-15/obsidian.desktop";
|
|
||||||
"xfce4/panel/launcher-16/spotify.desktop".source = "${dotfiles}/launcher-16/spotify.desktop";
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
home.activation.applyXfceTweaks = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
|
||||||
${pkgs.xfce.xfdesktop}/bin/xfdesktop --reload
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
12
README.md
12
README.md
|
|
@ -40,11 +40,15 @@ NixOS-95/
|
||||||
│ └── user-vars.nix
|
│ └── user-vars.nix
|
||||||
├── Modules/
|
├── Modules/
|
||||||
│ ├── Applications/
|
│ ├── Applications/
|
||||||
│ ├── Desktops/
|
|
||||||
│ │ └── XFCE-retro/
|
|
||||||
│ │ ├── default.nix
|
|
||||||
│ │ └── Dotfiles/
|
|
||||||
│ └── System/
|
│ └── System/
|
||||||
|
├── nixos95
|
||||||
|
│ ├── dotfiles/
|
||||||
|
│ ├── core.nix
|
||||||
|
│ ├── default.nix
|
||||||
|
│ ├── desktop.nix
|
||||||
|
│ ├── keybinds.nix
|
||||||
|
│ ├── taskbar.nix
|
||||||
|
│ └── theme.nix
|
||||||
├── Ressources/
|
├── Ressources/
|
||||||
│ ├── Icons/
|
│ ├── Icons/
|
||||||
│ ├── Images/
|
│ ├── Images/
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,9 @@
|
||||||
home-manager,
|
home-manager,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
|
||||||
|
nixosModules.nixos95 = import ./nixos95;
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
############################################################
|
############################################################
|
||||||
# 💻 Default Host
|
# 💻 Default Host
|
||||||
|
|
|
||||||
22
nixos95/core.nix
Normal file
22
nixos95/core.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ config, lib, pkgs, ... }: let
|
||||||
|
cfg = config.nixos95;
|
||||||
|
in lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
desktopManager.xfce.enable = true;
|
||||||
|
xkb = {
|
||||||
|
layout = "de";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.xserver.displayManager.lightdm.enable = false;
|
||||||
|
|
||||||
|
services.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.qt6Packages.sddm;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
|
||||||
|
}
|
||||||
24
nixos95/default.nix
Normal file
24
nixos95/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
{ config, lib, ...}: let
|
||||||
|
cfg = config.nixos95;
|
||||||
|
in {
|
||||||
|
|
||||||
|
options.nixos95 = {
|
||||||
|
enable = lib.mkEnableOption "NixOS-95 Desktop environment";
|
||||||
|
user = lib.mkOption {
|
||||||
|
description = ''
|
||||||
|
Username of the home-manager user.
|
||||||
|
'';
|
||||||
|
type = lib.types.str;
|
||||||
|
example = "user";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./core.nix
|
||||||
|
./desktop.nix
|
||||||
|
./keybinds.nix
|
||||||
|
./taskbar.nix
|
||||||
|
./theme.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
35
nixos95/desktop.nix
Normal file
35
nixos95/desktop.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ inputs, config, lib, pkgs, ... }: let
|
||||||
|
cfg = config.nixos95;
|
||||||
|
in {
|
||||||
|
|
||||||
|
options.nixos95 = {
|
||||||
|
|
||||||
|
wallpaper = lib.mkOption {
|
||||||
|
description = "The wallpaper to use";
|
||||||
|
type = lib.types.path;
|
||||||
|
default = "${inputs.self}/Ressources/Images/Wallpapers/Wallpaper-1.png";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
home-manager.users.${cfg.user} = {
|
||||||
|
|
||||||
|
xdg.configFile = {
|
||||||
|
"xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml" = let
|
||||||
|
sed = lib.getExe pkgs.gnused;
|
||||||
|
desktop = pkgs.runCommand "desktop.xml" { } ''
|
||||||
|
${sed} -e "s|NIXOS-95_WALLPAPER|${cfg.wallpaper}|g" ${./dotfiles/xfce4-desktop.xml} > $out
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
force = true;
|
||||||
|
source = desktop;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -5,13 +5,13 @@
|
||||||
<property name="backdrop" type="empty">
|
<property name="backdrop" type="empty">
|
||||||
<property name="screen0" type="empty">
|
<property name="screen0" type="empty">
|
||||||
<property name="monitor0" type="empty">
|
<property name="monitor0" type="empty">
|
||||||
<property name="image-path" type="string" value="/home/user/Wallpaper/NixOS-95-wallpaper.png"/>
|
<property name="image-path" type="string" value="NIXOS-95_WALLPAPER"/>
|
||||||
<property name="image-show" type="bool" value="true"/>
|
<property name="image-show" type="bool" value="true"/>
|
||||||
<property name="image-style" type="int" value="5"/>
|
<property name="image-style" type="int" value="5"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="monitoreDP-1" type="empty">
|
<property name="monitoreDP-1" type="empty">
|
||||||
<property name="workspace0" type="empty">
|
<property name="workspace0" type="empty">
|
||||||
<property name="last-image" type="string" value="/home/user/Wallpaper/NixOS-95-wallpaper.png"/>
|
<property name="last-image" type="string" value="NIXOS-95_WALLPAPER"/>
|
||||||
<property name="image-style" type="int" value="5"/>
|
<property name="image-style" type="int" value="5"/>
|
||||||
</property>
|
</property>
|
||||||
</property>
|
</property>
|
||||||
20
nixos95/keybinds.nix
Normal file
20
nixos95/keybinds.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
/**
|
||||||
|
* For now this just hard copies the config file.
|
||||||
|
* This can be improved by allowing users to define there own keybinds
|
||||||
|
*/
|
||||||
|
{ config, lib, ... }: let
|
||||||
|
cfg = config.nixos95;
|
||||||
|
in lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
home-manager.users.${cfg.user} = {
|
||||||
|
|
||||||
|
xdg.configFile = {
|
||||||
|
"xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml" = {
|
||||||
|
force = true;
|
||||||
|
source = ./dotfiles/xfce4-keyboard-shortcuts.xml;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
30
nixos95/taskbar.nix
Normal file
30
nixos95/taskbar.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
/**
|
||||||
|
* For now this just hard copies the config file.
|
||||||
|
* This can be improved by allowing users to define there own task bar config
|
||||||
|
*/
|
||||||
|
{ config, lib, pkgs, ... }: let
|
||||||
|
cfg = config.nixos95;
|
||||||
|
in lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.xfce.xfce4-whiskermenu-plugin
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.users.${cfg.user} = {
|
||||||
|
|
||||||
|
xdg.configFile = {
|
||||||
|
"xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml" = {
|
||||||
|
force = true;
|
||||||
|
source = ./dotfiles/xfce4-panel.xml;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Panel:
|
||||||
|
"xfce4/panel/launcher-13/brave.desktop".source = ./dotfiles/launcher-13/brave.desktop;
|
||||||
|
"xfce4/panel/launcher-14/signal.desktop".source = ./dotfiles/launcher-14/signal.desktop;
|
||||||
|
"xfce4/panel/launcher-15/obsidian.desktop".source = ./dotfiles/launcher-15/obsidian.desktop;
|
||||||
|
"xfce4/panel/launcher-16/spotify.desktop".source = ./dotfiles/launcher-16/spotify.desktop;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
35
nixos95/theme.nix
Normal file
35
nixos95/theme.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ inputs, config, lib, pkgs, ... }: let
|
||||||
|
cfg = config.nixos95;
|
||||||
|
|
||||||
|
theme_dir = "${inputs.self}/Ressources/Themes";
|
||||||
|
baseTheme = {
|
||||||
|
name = "Chicago95";
|
||||||
|
package = pkgs.callPackage "${theme_dir}/Chicago95/chicago95.nix" { };
|
||||||
|
};
|
||||||
|
iconTheme = {
|
||||||
|
name = "Win95_plus";
|
||||||
|
package = pkgs.callPackage "${theme_dir}/Win95_plus/win95_plus.nix" { };
|
||||||
|
};
|
||||||
|
in lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
home-manager.users.${cfg.user} = {
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
theme = baseTheme;
|
||||||
|
iconTheme = iconTheme;
|
||||||
|
cursorTheme = baseTheme;
|
||||||
|
font = {
|
||||||
|
name = "Sans";
|
||||||
|
size = 12;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
size = 24;
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
} // baseTheme;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue