Make it an purely imported configuration #15
8 changed files with 0 additions and 526 deletions
|
|
@ -1,152 +0,0 @@
|
||||||
{ config, pkgs, host, lib, inputs, userconf, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
# Load user-specific variables
|
|
||||||
userVars = import ./variables/user-vars.nix;
|
|
||||||
inherit (userVars) username gitUsername gitEmail keyboardLayout;
|
|
||||||
nixDirectory = "/home/${username}/NixOS";
|
|
||||||
in {
|
|
||||||
################################################################
|
|
||||||
# Module Imports
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
# Host-specific hardware configuration (autogenerated)
|
|
||||||
./hardware-configuration.nix
|
|
||||||
|
|
||||||
# System-level user definition
|
|
||||||
./user.nix
|
|
||||||
|
|
||||||
# Base and global modules
|
|
||||||
../../../Modules/System
|
|
||||||
|
|
||||||
# Home Manager integration
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
|
|
||||||
# nixos95
|
|
||||||
inputs.self.nixosModules.nixos95
|
|
||||||
|
|
||||||
];
|
|
||||||
################################################################
|
|
||||||
# Display & Desktop Environment
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
nixos95 = {
|
|
||||||
enable = true;
|
|
||||||
user = username;
|
|
||||||
|
|
||||||
taskbar = {
|
|
||||||
homeIcon = "whisker-menu-button";
|
|
||||||
battery-plugin.enable = false;
|
|
||||||
applications = [
|
|
||||||
{
|
|
||||||
name = "Brave";
|
|
||||||
description = "Browse the Web";
|
|
||||||
pkg = pkgs.brave;
|
|
||||||
icon = "world";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "Signal";
|
|
||||||
description = "Private Messenger";
|
|
||||||
pkg = pkgs.signal-desktop;
|
|
||||||
icon = "signal";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "Obsidian";
|
|
||||||
description = "Markdown Editor";
|
|
||||||
exe = "obsidian %u";
|
|
||||||
icon = "obsidian";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "Spotify";
|
|
||||||
description = "Spotify Music";
|
|
||||||
exe = "spotify %U";
|
|
||||||
icon = "spotify";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
keybinds = {
|
|
||||||
commands = [
|
|
||||||
{ key="<Super>l"; exe="xflock4"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# System Packages (XFCE & Utilities)
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
|
|
||||||
# Optional Extras
|
|
||||||
xfce.gigolo
|
|
||||||
xfce.xfce4-screenshooter
|
|
||||||
xfce.parole
|
|
||||||
# xfce.xfce4-clipman
|
|
||||||
|
|
||||||
# other:
|
|
||||||
zsh
|
|
||||||
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
programs.steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
|
||||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
|
||||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
|
||||||
};
|
|
||||||
|
|
||||||
services.openssh.enable = true;
|
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
ohMyZsh = {
|
|
||||||
enable = true;
|
|
||||||
theme = "xiong-chiamiov-plus";
|
|
||||||
plugins = ["git"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# Home Manager Configuration
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
backupFileExtension = "delme-HMbackup";
|
|
||||||
|
|
||||||
users.${username} = import ./home/home.nix {
|
|
||||||
inherit config nixDirectory pkgs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# Bootloader
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
boot.loader = {
|
|
||||||
grub = {
|
|
||||||
enable = true;
|
|
||||||
efiSupport = false;
|
|
||||||
useOSProber = false;
|
|
||||||
devices = ["nodev"];
|
|
||||||
};
|
|
||||||
systemd-boot.enable = false;
|
|
||||||
efi.canTouchEfiVariables = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# System Version
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
system.stateVersion = "25.05";
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
abort ''
|
|
||||||
This file is a placeholder and should not be edited manually.
|
|
||||||
|
|
||||||
Please run:
|
|
||||||
nixos-generate-config
|
|
||||||
|
|
||||||
to regenerate the correct hardware configuration.
|
|
||||||
|
|
||||||
This file was intentionally disabled to prevent accidental editing.
|
|
||||||
'';
|
|
||||||
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.125312 = [ "ah124123ci" "xhci_pci" "¹3¹32134" "2143432" "12441234" ];
|
|
||||||
boot.initrd.14231 = [ ];
|
|
||||||
boot.124 = [ "124-124214" ];
|
|
||||||
boot.1241324134 = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/9b55ed5e-1-443f-a5e8-1fb378fdad77";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ 1241324134124214];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault 1324414124444444444444444444444444444444444;
|
|
||||||
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
}
|
|
||||||
|
|
@ -1,169 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
# Your application definitions
|
|
||||||
apps = {
|
|
||||||
brave = {
|
|
||||||
name = "Brave";
|
|
||||||
genericName = "Web Browser";
|
|
||||||
exec = "brave";
|
|
||||||
icon = "world";
|
|
||||||
comment = "Browse the Web";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Network" "WebBrowser" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
terminal = {
|
|
||||||
name = "Terminal";
|
|
||||||
exec = "xfce4-terminal";
|
|
||||||
icon = "utilities-terminal";
|
|
||||||
comment = "Run a terminal emulator";
|
|
||||||
terminal = true;
|
|
||||||
categories = [ "System" "Utility" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
libre-calc = {
|
|
||||||
name = "Libre Calc";
|
|
||||||
exec = "libreoffice --calc";
|
|
||||||
icon = "libreoffice-calc";
|
|
||||||
comment = "Spreadsheet program";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Office" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
libre-write = {
|
|
||||||
name = "Libre Write";
|
|
||||||
exec = "libreoffice --writer";
|
|
||||||
icon = "libreoffice-writer";
|
|
||||||
comment = "Word processor";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Office" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
mpv = {
|
|
||||||
name = "MPV";
|
|
||||||
exec = "mpv";
|
|
||||||
icon = "mpv";
|
|
||||||
comment = "Video Player";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "AudioVideo" "Player" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
obsidian = {
|
|
||||||
name = "Obsidian";
|
|
||||||
exec = "obsidian %u";
|
|
||||||
icon = "obsidian";
|
|
||||||
comment = "Markdown Editor";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Office" "Utility" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
gwenview = {
|
|
||||||
name = "Gwenview";
|
|
||||||
exec = "gwenview %U";
|
|
||||||
icon = "gwenview";
|
|
||||||
comment = "Image Viewer";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Graphics" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
krita = {
|
|
||||||
name = "Krita";
|
|
||||||
exec = "krita %F";
|
|
||||||
icon = "krita";
|
|
||||||
comment = "Digital painting";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Graphics" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
prism-launcher = {
|
|
||||||
name = "Prism Launcher";
|
|
||||||
exec = "prismlauncher %U";
|
|
||||||
icon = "minecraft";
|
|
||||||
comment = "Minecraft Launcher";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Game" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
protonvpn = {
|
|
||||||
name = "ProtonVPN";
|
|
||||||
exec = "protonvpn-app";
|
|
||||||
icon = "protonvpn";
|
|
||||||
comment = "VPN Client";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Network" "Security" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
signal = {
|
|
||||||
name = "Signal";
|
|
||||||
exec = "signal-desktop %U";
|
|
||||||
icon = "signal-desktop";
|
|
||||||
comment = "Private Messenger";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Network" "InstantMessaging" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
vesktop = {
|
|
||||||
name = "Vesktop";
|
|
||||||
exec = "vesktop %U";
|
|
||||||
icon = "discord";
|
|
||||||
comment = "Discord Client";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Network" "Chat" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
spotify = {
|
|
||||||
name = "Spotify";
|
|
||||||
exec = "spotify %U";
|
|
||||||
icon = "spotify";
|
|
||||||
comment = "Spotify Music";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "AudioVideo" "Player" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
okular = {
|
|
||||||
name = "Okular";
|
|
||||||
exec = "okular %U";
|
|
||||||
icon = "okular";
|
|
||||||
comment = "PDF Viewer";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Office" "Viewer" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
steam = {
|
|
||||||
name = "Steam";
|
|
||||||
exec = "steam";
|
|
||||||
icon = "steam";
|
|
||||||
comment = "Steam Game Platform";
|
|
||||||
terminal = false;
|
|
||||||
categories = [ "Game" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
|
||||||
home.activation.desktopFiles = lib.hm.dag.entryAfter [ "writeBoundary" ] (
|
|
||||||
''
|
|
||||||
mkdir -p "$HOME/Desktop"
|
|
||||||
'' + (lib.concatStringsSep "\n" (lib.mapAttrsToList (name: data:
|
|
||||||
let
|
|
||||||
desktopText = ''
|
|
||||||
[Desktop Entry]
|
|
||||||
Version=1.0
|
|
||||||
Type=Application
|
|
||||||
Name=${data.name}
|
|
||||||
${lib.optionalString (data ? genericName) "GenericName=${data.genericName}"}
|
|
||||||
Comment=${data.comment}
|
|
||||||
Exec=${data.exec}
|
|
||||||
Icon=${data.icon}
|
|
||||||
Terminal=${if data.terminal then "true" else "false"}
|
|
||||||
Categories=${lib.concatStringsSep ";" data.categories};
|
|
||||||
'';
|
|
||||||
in ''
|
|
||||||
cat > "$HOME/Desktop/${name}.desktop" <<EOF
|
|
||||||
${desktopText}
|
|
||||||
EOF
|
|
||||||
chmod +x "$HOME/Desktop/${name}.desktop"
|
|
||||||
''
|
|
||||||
) apps))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,114 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
nixDirectory,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
# Import user-specific variables
|
|
||||||
userVars = import ../variables/user-vars.nix;
|
|
||||||
inherit (userVars) username gitUsername gitEmail;
|
|
||||||
in {
|
|
||||||
################################################################
|
|
||||||
# Basic Home Manager Setup
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
home.username = username;
|
|
||||||
home.homeDirectory = "/home/${username}";
|
|
||||||
home.stateVersion = "25.05";
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# Module Imports
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
# All Home Manager Modules
|
|
||||||
../../../../Modules/Applications
|
|
||||||
|
|
||||||
# Desktop applications
|
|
||||||
./desktop.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# Nyx Tools Configuration
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
#imports = [
|
|
||||||
# # Nyx Tools
|
|
||||||
# # ../../../../Misc/Nyx-Tools/nyx.nix
|
|
||||||
#];
|
|
||||||
|
|
||||||
# Optional but really cool so if you wanna use it:
|
|
||||||
# https://github.com/Peritia-System/Nyx-Tools
|
|
||||||
|
|
||||||
#modules.nyx-rebuild = {
|
|
||||||
# enable = true;
|
|
||||||
# inherit username nixDirectory;
|
|
||||||
# editor = "nvim";
|
|
||||||
# formatter = "alejandra";
|
|
||||||
# enableAlias = false;
|
|
||||||
# autoPush = false;
|
|
||||||
# enableFormatting = false;
|
|
||||||
# startEditor = false;
|
|
||||||
#};
|
|
||||||
|
|
||||||
#modules.nyx-cleanup = {
|
|
||||||
# enable = true;
|
|
||||||
# inherit username nixDirectory;
|
|
||||||
# autoPush = false;
|
|
||||||
# keepGenerations = 5;
|
|
||||||
# enableAlias = false;
|
|
||||||
#};
|
|
||||||
|
|
||||||
#modules.nix-tool = {
|
|
||||||
# enable = true;
|
|
||||||
# inherit nixDirectory;
|
|
||||||
#};
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# Package Selection
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
home.packages = import ./user-packages.nix {inherit pkgs;};
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# Feature Modules
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
# App groups
|
|
||||||
standardApps.enable = true;
|
|
||||||
officeApps.enable = true;
|
|
||||||
|
|
||||||
# Individual applications
|
|
||||||
brave-and-extension.enable = true;
|
|
||||||
vscodium-and-extension.enable = true;
|
|
||||||
vesktop.enable = true;
|
|
||||||
krita.enable = true;
|
|
||||||
signal.enable = true;
|
|
||||||
spotify.enable = true;
|
|
||||||
obsidian.enable = true;
|
|
||||||
protonvpn.enable = true;
|
|
||||||
|
|
||||||
# Gaming:
|
|
||||||
prismlauncher.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
cliTools.enable = true;
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# Git Configuration
|
|
||||||
################################################################
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = gitUsername;
|
|
||||||
userEmail = gitEmail;
|
|
||||||
|
|
||||||
aliases = {
|
|
||||||
co = "checkout";
|
|
||||||
ci = "commit";
|
|
||||||
st = "status";
|
|
||||||
br = "branch";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
# ./user-packages.nix
|
|
||||||
{pkgs}:
|
|
||||||
with pkgs; [
|
|
||||||
mpv
|
|
||||||
vlc
|
|
||||||
]
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
vars = import ./variables/user-vars.nix;
|
|
||||||
username = vars.username;
|
|
||||||
gitUsername = vars.gitUsername;
|
|
||||||
in {
|
|
||||||
users.mutableUsers = true;
|
|
||||||
|
|
||||||
# Main user
|
|
||||||
users.users.${username} = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = gitUsername;
|
|
||||||
createHome = true;
|
|
||||||
home = "/home/${username}";
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
group = "users";
|
|
||||||
extraGroups = [
|
|
||||||
"wheel"
|
|
||||||
"networkmanager"
|
|
||||||
"libvirtd"
|
|
||||||
"scanner"
|
|
||||||
"lp"
|
|
||||||
"video"
|
|
||||||
"input"
|
|
||||||
"audio"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
system = "x86_64-linux"; # Can also be aarch64-linux, etc.
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
# ./User/variables.nix
|
|
||||||
let
|
|
||||||
username = "user";
|
|
||||||
in {
|
|
||||||
inherit username;
|
|
||||||
gitUsername = "user-name-here";
|
|
||||||
gitEmail = "user@user-email.here";
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue