Compare commits
15 Commits
ebe65dc108
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 0edd66d61a | |||
| 2f7ae02b36 | |||
| f7e26a9793 | |||
| 47cd19b701 | |||
| f0c2a38366 | |||
| b2b4e434fd | |||
| a442183047 | |||
| eb6019b131 | |||
| 423e136895 | |||
|
|
fe40f11559 | ||
| c45ec8d9cd | |||
|
|
f073bda700 | ||
|
|
af5ca69e02 | ||
| c22a16c4ea | |||
| 92d70ee2fc |
@@ -11,15 +11,6 @@
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
oreo = pkgs.callPackage ./personalPKGS/oreo.nix { };
|
||||
|
||||
# Window manager toggles
|
||||
wmAll = window_manager == "all";
|
||||
useRiver = window_manager == "river" || wmAll;
|
||||
useNiri = window_manager == "niri" || wmAll;
|
||||
useHypr = window_manager == "hyprland" || wmAll;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
@@ -29,6 +20,7 @@ in
|
||||
./system/hardware.nix
|
||||
./system/fonts.nix
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.jovian.nixosModules.default
|
||||
#inputs.niri.nixosModules.niri
|
||||
];
|
||||
|
||||
@@ -49,7 +41,18 @@ in
|
||||
##############################################################################
|
||||
programs.zsh.enable = true;
|
||||
users = {
|
||||
users.mrfluffy = {
|
||||
users = {
|
||||
root = {
|
||||
openssh = {
|
||||
authorizedKeys = {
|
||||
keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDwjTCq2GXRuqVXf1CeyntkOIFYNu0+tW1lurW8PNtK1 zastian00@gmail.com"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mrfluffy = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.zsh;
|
||||
createHome = true;
|
||||
@@ -61,11 +64,13 @@ in
|
||||
"docker"
|
||||
"libvirt"
|
||||
"input"
|
||||
"seat"
|
||||
"dialout"
|
||||
];
|
||||
packages = with pkgs; [ ];
|
||||
};
|
||||
|
||||
users.work = {
|
||||
work = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.zsh;
|
||||
createHome = true;
|
||||
@@ -77,24 +82,34 @@ in
|
||||
"docker"
|
||||
"libvirt"
|
||||
"input"
|
||||
"seat"
|
||||
"dialout"
|
||||
];
|
||||
packages = with pkgs; [ ];
|
||||
};
|
||||
|
||||
game = {
|
||||
isNormalUser = true;
|
||||
description = "Dedicated gaming user (auto-login in Steam specialisation)";
|
||||
shell = pkgs.bash;
|
||||
createHome = true;
|
||||
password = ""; # no password
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"video"
|
||||
"render"
|
||||
"input"
|
||||
"seat"
|
||||
"networkmanager"
|
||||
"dialout"
|
||||
];
|
||||
home = "/home/game";
|
||||
};
|
||||
};
|
||||
groups.libvirtd.members = [
|
||||
"mrfluffy"
|
||||
"work"
|
||||
];
|
||||
};
|
||||
# greetd + tuigreet
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
restart = true;
|
||||
useTextGreeter = true;
|
||||
settings.default_session = {
|
||||
command = "${lib.getExe pkgs.tuigreet} --window-padding 1 --time --time-format '%R - %F' --remember --remember-session --asterisks";
|
||||
user = "greeter";
|
||||
};
|
||||
|
||||
};
|
||||
##############################################################################
|
||||
# Home-Manager
|
||||
@@ -104,6 +119,7 @@ in
|
||||
users = {
|
||||
mrfluffy = import ./home/mrfluffy.nix;
|
||||
work = import ./home/work.nix;
|
||||
game = import ./home/game.nix;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -123,7 +139,8 @@ in
|
||||
# AMD_VULKAN_ICD = "RADV";
|
||||
# VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json";
|
||||
# XDG_CURRENT_DESKTOP = "hyprland";
|
||||
# QT_QPA_PLATFORMTHEME = "qt6ct";
|
||||
#QT_QPA_PLATFORMTHEME = "gtk3";
|
||||
#QT_QPA_PLATFORMTHEME_QT6 = "gtk3";
|
||||
};
|
||||
|
||||
systemPackages = with pkgs; [
|
||||
@@ -141,6 +158,21 @@ in
|
||||
permittedInsecurePackages = [ ];
|
||||
};
|
||||
|
||||
##############################################################################
|
||||
# decky
|
||||
##############################################################################
|
||||
nixpkgs.overlays = [
|
||||
inputs.jovian.overlays.default
|
||||
];
|
||||
jovian.decky-loader = {
|
||||
enable = true;
|
||||
user = "game"; # Run as your gaming user
|
||||
stateDir = "/home/game/.local/share/decky"; # Store plugins/data in user's home (adjust if preferred)
|
||||
# Optional: Add extra packages if needed for specific plugins
|
||||
# extraPackages = with pkgs; [ some-package ];
|
||||
# extraPythonPackages = ps: with ps; [ some-python-package ];
|
||||
};
|
||||
|
||||
##############################################################################
|
||||
# State version
|
||||
##############################################################################
|
||||
@@ -149,81 +181,9 @@ in
|
||||
specialisation = {
|
||||
"01-steam" = {
|
||||
configuration = {
|
||||
# ── HDMI-CEC: Turn on TV when Steam specialisation starts ─────────────────────
|
||||
services.udev.packages = [ pkgs.libcec ]; # ensures cec-utils is in PATH
|
||||
|
||||
# A user service that runs once the graphical session (Steam/GameScope) is ready
|
||||
systemd.user.services.cec-tv-on = {
|
||||
description = "Turn on TV via HDMI-CEC when entering Steam specialisation";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = toString (
|
||||
pkgs.writeShellScript "cec-tv-on.sh" ''
|
||||
# Wait a moment for the HDMI link to settle
|
||||
sleep 3
|
||||
|
||||
# Turn on the TV and set it as active source (most TVs understand this)
|
||||
${pkgs.libcec}/bin/cec-client -s -d 1 <<EOF
|
||||
on 0
|
||||
as
|
||||
EOF
|
||||
|
||||
# Alternative one-liner if the above somehow fails:
|
||||
# echo 'on 0' | ${pkgs.libcec}/bin/cec-client -s -d 1
|
||||
# echo 'as' | ${pkgs.libcec}/bin/cec-client -s -d 1
|
||||
''
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
# Make sure the user service starts automatically
|
||||
systemd.user.targets.graphical-session = {
|
||||
# This target already exists, we just ensure it’s active
|
||||
unitConfig = {
|
||||
RefuseManualStart = false;
|
||||
RefuseManualStop = false;
|
||||
};
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
mangohud
|
||||
gamemode
|
||||
imports = [
|
||||
./system/specialisation/steam.nix
|
||||
];
|
||||
variables = {
|
||||
LIBSEAT_BACKEND = "logind";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
programs = {
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
|
||||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
gamescope
|
||||
mangohud
|
||||
gamemode
|
||||
];
|
||||
gamescopeSession = {
|
||||
enable = true;
|
||||
args = [
|
||||
"--prefer-output"
|
||||
"HDMI-A-2"
|
||||
"--hdr-enabled"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -236,84 +196,9 @@ in
|
||||
imports = [
|
||||
./system/services.nix
|
||||
./system/nixOSPkgs.nix
|
||||
./system/specialisation/main-system.nix
|
||||
#inputs.niri.nixosModules.niri
|
||||
];
|
||||
|
||||
##############################################################################
|
||||
# Desktop / WM
|
||||
##############################################################################
|
||||
programs.river-classic.enable = useRiver;
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
# style = "gtk2";
|
||||
platformTheme = "qt5ct";
|
||||
};
|
||||
|
||||
xdg.menus.enable = true;
|
||||
|
||||
# Work around Dolphin menu oddities: force Plasma menu definition
|
||||
environment.etc."/xdg/menus/applications.menu".text =
|
||||
builtins.readFile "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu";
|
||||
|
||||
# Niri (via overlay)
|
||||
#nixpkgs.overlays = [ inputs.niri.overlays.niri ];
|
||||
#programs.niri = {
|
||||
# enable = useNiri;
|
||||
# package = pkgs.niri-stable; # Only needed if not provided by the overlay
|
||||
#};
|
||||
|
||||
# Hyprland
|
||||
programs.hyprland = {
|
||||
enable = useHypr;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
};
|
||||
|
||||
# X11 base (kept enabled for keymap + DM if needed)
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
xkb = {
|
||||
layout = "ie";
|
||||
variant = "";
|
||||
};
|
||||
|
||||
# displayManager.lightdm = {
|
||||
# enable = true;
|
||||
# greeters.gtk = {
|
||||
# enable = true;
|
||||
# theme.package = pkgs.amarena-theme;
|
||||
# theme.name = "amarena";
|
||||
# cursorTheme.package = oreo.override { colors = [ "oreo_spark_pink_cursors" ]; };
|
||||
# cursorTheme.name = "oreo_spark_pink_cursors";
|
||||
# extraConfig = "background=${./assets/Wallpapers/138.png}";
|
||||
# };
|
||||
# };
|
||||
};
|
||||
|
||||
##############################################################################
|
||||
# Security / PolicyKit / PAM
|
||||
##############################################################################
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
polkit.enable = true;
|
||||
pam.services = {
|
||||
swaylock = { };
|
||||
greetd.enableGnomeKeyring = true;
|
||||
greetd.kwallet.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
##############################################################################
|
||||
# Virtualisation
|
||||
##############################################################################
|
||||
virtualisation = {
|
||||
docker = {
|
||||
enable = true;
|
||||
storageDriver = lib.mkIf (systemName == "pc") "btrfs";
|
||||
};
|
||||
libvirtd.enable = true;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
{
|
||||
programs = {
|
||||
caelestia = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
systemd = {
|
||||
enable = true; # if you prefer starting from your compositor
|
||||
target = "graphical-session.target";
|
||||
|
||||
26
dots/dankMeterialShell.nix
Normal file
26
dots/dankMeterialShell.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
inputs.dms.homeModules.dank-material-shell
|
||||
];
|
||||
|
||||
programs.dank-material-shell = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
enable = true; # if you prefer starting from your compositor
|
||||
};
|
||||
|
||||
#settings = {
|
||||
# theme = "dark";
|
||||
# dynamicTheming = true;
|
||||
# # Add any other settings here
|
||||
#};
|
||||
};
|
||||
}
|
||||
@@ -10,6 +10,8 @@
|
||||
settings = {
|
||||
main = {
|
||||
pad = "5x5";
|
||||
font = "${config.stylix.fonts.monospace.name}:size=${toString config.stylix.fonts.sizes.terminal}";
|
||||
include = "/home/${config.home.username}/.config/foot/dank-colors.ini";
|
||||
};
|
||||
colors = {
|
||||
alpha = lib.mkForce (0.9);
|
||||
@@ -17,4 +19,3 @@
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -8,18 +8,19 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
caelestia-cli = inputs.caelestia-cli.packages.${pkgs.system}.caelestia-cli;
|
||||
hypr-package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
hypr-portal = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
||||
hypr-split = inputs.hyprland-hyprsplit.packages.${pkgs.system}.split-monitor-workspaces;
|
||||
#hyprscrolling = inputs.hyprland-plugins.packages.${pkgs.system}.hyprscrolling;
|
||||
hypr-package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
hypr-portal =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
hypr-split =
|
||||
inputs.hyprland-hyprsplit.packages.${pkgs.stdenv.hostPlatform.system}.split-monitor-workspaces;
|
||||
#hyprscrolling = inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprscrolling;
|
||||
mod = "Alt";
|
||||
terminal = "footclient";
|
||||
fileManager = "dolphin";
|
||||
fileManager = "thunar";
|
||||
#runner = "${lib.getExe caelestia-cli} shell drawers toggle launcher";
|
||||
runner = "vicinae toggle";
|
||||
# runner = "anyrun";
|
||||
browser = "zen-beta";
|
||||
browser = "firefox";
|
||||
editor = "emacsclient -c";
|
||||
in
|
||||
{
|
||||
@@ -37,49 +38,53 @@ in
|
||||
##########################################################################
|
||||
# Monitors
|
||||
##########################################################################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor = lib.mkMerge [
|
||||
#(lib.mkIf (systemName == "laptop") [ "eDP-1,1920x1080@59.99700,0x0,1" ])
|
||||
(lib.mkIf (systemName == "pc") [
|
||||
"HDMI-A-2, disable"
|
||||
])
|
||||
source = [
|
||||
"./dms/outputs.conf"
|
||||
#"./dms/cursor.conf"
|
||||
"./dms/colors.conf"
|
||||
];
|
||||
|
||||
monitorv2 =
|
||||
[ ]
|
||||
++ lib.optional (systemName == "laptop") {
|
||||
output = "eDP-1";
|
||||
mode = "1920x1080@59.99700";
|
||||
scale = 1;
|
||||
position = "0x0";
|
||||
}
|
||||
++ lib.optional (systemName == "pc") {
|
||||
output = "DP-1";
|
||||
mode = "2560x1440@239.97";
|
||||
position = "2560x0"; # "1440x750"; # Corrected from 2569x0 for seamless alignment
|
||||
scale = 1;
|
||||
#supports_wide_color = 1;
|
||||
bitdepth = 10;
|
||||
cm = "hdr";
|
||||
supports_hdr = true;
|
||||
supports_wide_color = true;
|
||||
sdr_min_luminance = 0; # For true black on OLED
|
||||
sdr_max_luminance = 275; # Matches typical SDR brightness
|
||||
min_luminance = 0;
|
||||
max_luminance = 1000; # HDR peak
|
||||
max_avg_luminance = 400; # Average frame luminance
|
||||
sdrbrightness = 1.2; # Slight boost to avoid washed out look
|
||||
sdrsaturation = 1.0;
|
||||
#transform = 2; # Uncomment if needed
|
||||
}
|
||||
++ lib.optional (systemName == "pc") {
|
||||
output = "DP-2";
|
||||
mode = "2560x1440@144";
|
||||
scale = 1;
|
||||
position = "0x0";
|
||||
transform = 0;
|
||||
};
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
#monitor = lib.mkMerge [
|
||||
# #(lib.mkIf (systemName == "laptop") [ "eDP-1,1920x1080@59.99700,0x0,1" ])
|
||||
# (lib.mkIf (systemName == "pc") [
|
||||
# "HDMI-A-2, disable"
|
||||
# ])
|
||||
#];
|
||||
|
||||
#monitorv2 =
|
||||
# [ ]
|
||||
# ++ lib.optional (systemName == "laptop") {
|
||||
# output = "eDP-1";
|
||||
# mode = "1920x1080@59.99700";
|
||||
# scale = 1;
|
||||
# position = "0x0";
|
||||
# }
|
||||
# ++ lib.optional (systemName == "pc") {
|
||||
# output = "DP-1";
|
||||
# mode = "2560x1440@239.97";
|
||||
# position = "2560x0"; # "1440x750"; # Corrected from 2569x0 for seamless alignment
|
||||
# scale = 1;
|
||||
# #supports_wide_color = 1;
|
||||
# bitdepth = 10;
|
||||
# cm = "wide";
|
||||
# supports_hdr = true;
|
||||
# supports_wide_color = true;
|
||||
# sdr_min_luminance = 0; # For true black on OLED
|
||||
# sdr_max_luminance = 275; # Matches typical SDR brightness
|
||||
# min_luminance = 0;
|
||||
# max_luminance = 1000; # HDR peak
|
||||
# max_avg_luminance = 400; # Average frame luminance
|
||||
# sdrbrightness = 1.2; # Slight boost to avoid washed out look
|
||||
# sdrsaturation = 1.0;
|
||||
# }
|
||||
# ++ lib.optional (systemName == "pc") {
|
||||
# output = "DP-2";
|
||||
# mode = "2560x1440@144";
|
||||
# scale = 1;
|
||||
# position = "0x0";
|
||||
# transform = 0;
|
||||
# };
|
||||
|
||||
##########################################################################
|
||||
# Autostart
|
||||
@@ -90,7 +95,9 @@ in
|
||||
exec-once = [
|
||||
# "waybar"
|
||||
# "quickshell"
|
||||
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
||||
#"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
||||
"${pkgs.kdePackages.polkit-kde-agent-1}/libexec/polkit-kde-authentication-agent-1"
|
||||
"${pkgs.kdePackages.kwallet-pam}/libexec/pam_kwallet_init"
|
||||
"fcitx5 -d"
|
||||
"foot -s"
|
||||
"systemctl --user import-environment DBUS_SESSION_BUS_ADDRESS WAYLAND_DISPLAY XDG_SESSION_TYPE XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP QT_QPA_PLATFORMTHEME GTK_THEME"
|
||||
@@ -158,8 +165,8 @@ in
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
rounding_power = 2;
|
||||
rounding = 0;
|
||||
rounding_power = 0;
|
||||
active_opacity = 1.0;
|
||||
inactive_opacity = 1.0;
|
||||
|
||||
@@ -292,7 +299,8 @@ in
|
||||
"${mod}, V, togglefloating,"
|
||||
"${mod}, T, fullscreen"
|
||||
# ",Print, exec, grim -g \"$(slurp)\" - | swappy -f -"
|
||||
",Print, exec, ${lib.getExe caelestia-cli} screenshot -r -f"
|
||||
",Print, exec, dms screenshot"
|
||||
"${mod}, f1, exec, dms ipc call keybinds toggle hyprland"
|
||||
|
||||
# Dwindle
|
||||
"${mod}, P, pseudo, "
|
||||
@@ -373,8 +381,8 @@ in
|
||||
# ",XF86MonBrightnessDown, exec, light -U 5"
|
||||
|
||||
# Brightness
|
||||
",XF86MonBrightnessUp, global, caelestia:brightnessUp"
|
||||
",XF86MonBrightnessDown, global, caelestia:brightnessDown"
|
||||
",XF86MonBrightnessUp, global, dms ipc call brightness increment 5"
|
||||
",XF86MonBrightnessDown, global, dms ipc call brightness decrement 5"
|
||||
];
|
||||
|
||||
bindl = [
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
enable = true;
|
||||
discord = {
|
||||
enable = false;
|
||||
package = pkgs.vencord;
|
||||
#package = pkgs.vencord;
|
||||
};
|
||||
vesktop = {
|
||||
enable = true;
|
||||
package = pkgs.vesktop;
|
||||
useSystemVencord = false;
|
||||
#package = pkgs.vesktop;
|
||||
#useSystemVencord = false;
|
||||
};
|
||||
config = {
|
||||
plugins = {
|
||||
@@ -42,9 +42,6 @@
|
||||
biggerStreamPreview = {
|
||||
enable = true;
|
||||
};
|
||||
clearURLs = {
|
||||
enable = true;
|
||||
};
|
||||
copyFileContents = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland
|
||||
kdePackages.xdg-desktop-portal-kde
|
||||
];
|
||||
};
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
defaultApplications =
|
||||
let
|
||||
browser = [ "zen-beta.desktop" ];
|
||||
browser = [ "firefox.desktop" ];
|
||||
fileManager = [ "pcmanfm.desktop" ];
|
||||
editor = [ "emacs.desktop" ];
|
||||
player = [ "mpv.desktop" ];
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
GNUPGHOME = "$XDG_DATA_HOME/gnupg";
|
||||
GOPATH = "$XDG_DATA_HOME/go";
|
||||
GRADLE_USER_HOME = "$XDG_DATA_HOME/gradle";
|
||||
IPYTHONDIR = "$XDG_CONFIG_HOMEipython";
|
||||
IPYTHONDIR = "$XDG_CONFIG_HOME/ipython";
|
||||
JUPYTER_CONFIG_DIR = "$XDG_CONFIG_HOME/jupyter";
|
||||
LESSHISTFILE = "$XDG_CACHE_HOME/less/history";
|
||||
NUGET_PACKAGES = "$XDG_CACHE_HOME/NuGetPackages";
|
||||
@@ -44,9 +44,9 @@
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
nix-switch = "nh os switch --specialisation 00-main-system";
|
||||
nix-upgrade = "(cd ~/nixos-dots && nix flake update) && echo 'flake.lock updated'";
|
||||
nix-edit = "sudo vim /etc/nixos/configuration.nix";
|
||||
ns = "nh os switch --specialisation 00-main-system";
|
||||
nu = "(cd ~/nixos-dots && nix flake update --commit-lock-file) && echo 'flake.lock updated'";
|
||||
ne = "emacsclient -c ~/nixos-dots/configuration.nix";
|
||||
|
||||
ls = "exa -lag --icons";
|
||||
upload = "~/.config/script/upload.sh";
|
||||
|
||||
311
flake.lock
generated
311
flake.lock
generated
@@ -20,11 +20,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764714051,
|
||||
"narHash": "sha256-AjcMlM3UoavFoLzr0YrcvsIxALShjyvwe+o7ikibpCM=",
|
||||
"lastModified": 1767024902,
|
||||
"narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "a43bedcceced5c21ad36578ed823e6099af78214",
|
||||
"rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -54,17 +54,17 @@
|
||||
"base16-fish": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1754405784,
|
||||
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
|
||||
"lastModified": 1765809053,
|
||||
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
||||
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
||||
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -124,11 +124,11 @@
|
||||
"quickshell": "quickshell"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765071049,
|
||||
"narHash": "sha256-HIJtxkYaGxUFZ03wOzF4pWhKWAvFuYBN9jAdhCzZvnI=",
|
||||
"lastModified": 1767490542,
|
||||
"narHash": "sha256-NkwDCzDC5soGuAE4k8YuvdzYOi7ugrBjUxavKwmFoUM=",
|
||||
"owner": "caelestia-dots",
|
||||
"repo": "shell",
|
||||
"rev": "982d64d5e5b9295d12dec37d45442ed6a05fe284",
|
||||
"rev": "1b4b90a3ad9532f7002ef2593d8efb68443f21f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -148,11 +148,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764813773,
|
||||
"narHash": "sha256-vpgjBAER+aoMjq6z9xuv/jvniXkRRgP/xfZMP2LbNlk=",
|
||||
"lastModified": 1767320190,
|
||||
"narHash": "sha256-HXi1ED3ub/7yn3SEUw8641dLMFuxRlcMs/RgIbU91I8=",
|
||||
"owner": "caelestia-dots",
|
||||
"repo": "cli",
|
||||
"rev": "1eead8615108e1977ac09ed428e1329adbb80f00",
|
||||
"rev": "337c711371e070fa28c2e55fffc5b0115a7cf40b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -167,11 +167,11 @@
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765332282,
|
||||
"narHash": "sha256-4VQn4aZ7eziRCVNVIYveglrMh6IAyCNOl+4IyhCgX3k=",
|
||||
"lastModified": 1767751792,
|
||||
"narHash": "sha256-9aevqBizkmywn0buASzLCNOwY/Wm6tq9FpaPrRgZ/KQ=",
|
||||
"owner": "caelestia-dots",
|
||||
"repo": "cli",
|
||||
"rev": "b1e4e92e98645a1908d7d0a8581e59b2cd1e52df",
|
||||
"rev": "55d75a117540e37263ac450ed7c40cc2212b5e3c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -192,11 +192,11 @@
|
||||
"quickshell": "quickshell_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765071049,
|
||||
"narHash": "sha256-HIJtxkYaGxUFZ03wOzF4pWhKWAvFuYBN9jAdhCzZvnI=",
|
||||
"lastModified": 1767490542,
|
||||
"narHash": "sha256-NkwDCzDC5soGuAE4k8YuvdzYOi7ugrBjUxavKwmFoUM=",
|
||||
"owner": "caelestia-dots",
|
||||
"repo": "shell",
|
||||
"rev": "982d64d5e5b9295d12dec37d45442ed6a05fe284",
|
||||
"rev": "1b4b90a3ad9532f7002ef2593d8efb68443f21f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -205,6 +205,47 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dgop": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765838956,
|
||||
"narHash": "sha256-A3a2ZfvjirX8VIdIPI+nAyukWs6vx4vet3fU0mpr7lU=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dgop",
|
||||
"rev": "0ff697a4e3418966caa714c838fc73f1ef6ba59b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dgop",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"quickshell": "quickshell_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767813183,
|
||||
"narHash": "sha256-4tLYqLiLZqI7xmhNBi5zyGkaAXZJNUtGuxWzA7NJf8A=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "DankMaterialShell",
|
||||
"rev": "3dd21382bad5d43604850e257cfd1b8d35e16fb9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "DankMaterialShell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -224,15 +265,15 @@
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1761588595,
|
||||
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
||||
"owner": "edolstra",
|
||||
"lastModified": 1767039857,
|
||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -259,7 +300,7 @@
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"revCount": 69,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz?rev=ff81ac966bb2cae68946d5ed5fc4994f96d0ffec&revCount=69"
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
@@ -271,11 +312,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754091436,
|
||||
"narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
|
||||
"lastModified": 1765835352,
|
||||
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
|
||||
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -369,11 +410,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765337252,
|
||||
"narHash": "sha256-HuWQp8fM25fyWflbuunQkQI62Hg0ecJxWD52FAgmxqY=",
|
||||
"lastModified": 1767811801,
|
||||
"narHash": "sha256-QICeGwbXfqtaOZmgh6BrSBB72drPuHO3pjuyh+x8eIY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "13cc1efd78b943b98c08d74c9060a5b59bf86921",
|
||||
"rev": "c068188a8e5c277f7bc8671557a7568864b57515",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -427,11 +468,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763733840,
|
||||
"narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=",
|
||||
"lastModified": 1766946335,
|
||||
"narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a",
|
||||
"rev": "4af02a3925b454deb1c36603843da528b67ded6c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -459,11 +500,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765456802,
|
||||
"narHash": "sha256-KAwcM3w98TxiGlBnWYxhTdHM1vZZhzeeXaEE647REZ0=",
|
||||
"lastModified": 1767812022,
|
||||
"narHash": "sha256-BHBiQhlNl+Lxvp/bBOOTWhxbXYMoVG4xiyv9DE/nuZ4=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "2ca7ad7efc1e20588af5c823ee46f23afad6cf91",
|
||||
"rev": "918e2bb9be0e1d233f9394f1d569137788c43c01",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -505,11 +546,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764812575,
|
||||
"narHash": "sha256-1bK1yGgaR82vajUrt6z+BSljQvFn91D74WJ/vJsydtE=",
|
||||
"lastModified": 1767023960,
|
||||
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-guiutils",
|
||||
"rev": "fd321368a40c782cfa299991e5584ca338e36ebe",
|
||||
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -526,11 +567,11 @@
|
||||
"nix-filter": "nix-filter"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764873455,
|
||||
"narHash": "sha256-ehm3Y0xCUkJnbDwM0wwu9DBj7f3lLTwFW9GBxH93w2s=",
|
||||
"lastModified": 1767711026,
|
||||
"narHash": "sha256-yTuyde8TpBR3NhNnOcK4uOGukvMCwrH3otP8E04e9X0=",
|
||||
"owner": "Duckonaut",
|
||||
"repo": "split-monitor-workspaces",
|
||||
"rev": "34d1ce459b4f13e77d8f2a0851475497abee2c98",
|
||||
"rev": "764548c3aa22c9f4cb436ec7243d21795eb6ebec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -556,11 +597,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765207366,
|
||||
"narHash": "sha256-s0jO2kEj5cLLTgTblKnAKjqt3MjYFnmyrQT3SxiUugM=",
|
||||
"lastModified": 1767723101,
|
||||
"narHash": "sha256-jObY8O7OI+91hoE137APsDxm0235/Yx+HhFIip187zM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-plugins",
|
||||
"rev": "e058ea23b80775cf20c675d064678416df2d9d04",
|
||||
"rev": "fef398ed5e4faf59bc43b915e46a75cfe8b16697",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -581,11 +622,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759610243,
|
||||
"narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=",
|
||||
"lastModified": 1765214753,
|
||||
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622",
|
||||
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -687,11 +728,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764962281,
|
||||
"narHash": "sha256-rGbEMhTTyTzw4iyz45lch5kXseqnqcEpmrHdy+zHsfo=",
|
||||
"lastModified": 1766253372,
|
||||
"narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "fe686486ac867a1a24f99c753bb40ffed338e4b0",
|
||||
"rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -741,11 +782,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764872015,
|
||||
"narHash": "sha256-INI9AVrQG5nJZFvGPSiUZ9FEUZJLfGdsqjF1QSak7Gc=",
|
||||
"lastModified": 1767473322,
|
||||
"narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"rev": "7997451dcaab7b9d9d442f18985d514ec5891608",
|
||||
"rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -754,6 +795,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"jovian": {
|
||||
"inputs": {
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767777502,
|
||||
"narHash": "sha256-jXb2kBU6lO6Q6S9zoR/bhVLMjg2hM9EW8gWIwsmkj64=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "a81fad3f4a70fdaa779e74b7da2063fa2e358028",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-alien": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
@@ -763,11 +825,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764061716,
|
||||
"narHash": "sha256-xKnIoMPv2kIsWhjRhJayqMWU2xkjeq2pyPmR1dLFPHs=",
|
||||
"lastModified": 1765855559,
|
||||
"narHash": "sha256-AUT31hDJliW0fK9G7tfTEDD2me4rIXbBXPu1lf0mVHs=",
|
||||
"owner": "thiagokokada",
|
||||
"repo": "nix-alien",
|
||||
"rev": "9bc9c1ab671eb1b610f549e15bc0b750ab987409",
|
||||
"rev": "0eb86c42d1e33e8dbcf771cb67446319517a0a57",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -810,6 +872,28 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-github-actions": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"jovian",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729697500,
|
||||
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
|
||||
"owner": "zhaofengli",
|
||||
"repo": "nix-github-actions",
|
||||
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "zhaofengli",
|
||||
"ref": "matrix-name",
|
||||
"repo": "nix-github-actions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-index-database": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -860,11 +944,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765440299,
|
||||
"narHash": "sha256-pFbREAtYotjEo059YRGsjn9+nOLuwuOEJQ9cOV9Kc5g=",
|
||||
"lastModified": 1767772998,
|
||||
"narHash": "sha256-uW5BgnDOn41rlKn1JxdN7CU4bbOgZf+axEw8pBVP6RU=",
|
||||
"owner": "kaylorben",
|
||||
"repo": "nixcord",
|
||||
"rev": "a68a319cbca0915da385b36b11f5aa2df8cf6e7a",
|
||||
"rev": "d9f83906a12678900b2b36c3bdf7329e8efaa0c0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -875,11 +959,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1764950072,
|
||||
"narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=",
|
||||
"lastModified": 1767379071,
|
||||
"narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f61125a668a320878494449750330ca58b78c557",
|
||||
"rev": "fb7944c166a3b630f177938e478f0378e64ce108",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -906,11 +990,11 @@
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1753579242,
|
||||
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
|
||||
"lastModified": 1765674936,
|
||||
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
|
||||
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -921,11 +1005,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1765186076,
|
||||
"narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=",
|
||||
"lastModified": 1767640445,
|
||||
"narHash": "sha256-UWYqmD7JFBEDBHWYcqE6s6c77pWdcU/i+bwD6XxMb8A=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8",
|
||||
"rev": "9f0c42f8bc7151b8e7e5840fb3bd454ad850d8c5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -937,11 +1021,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1765186076,
|
||||
"narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=",
|
||||
"lastModified": 1767767207,
|
||||
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8",
|
||||
"rev": "5912c1772a44e31bf1c63c0390b90501e5026886",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -953,11 +1037,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1764517877,
|
||||
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
|
||||
"lastModified": 1766651565,
|
||||
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
|
||||
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1018,11 +1102,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765016596,
|
||||
"narHash": "sha256-rhSqPNxDVow7OQKi4qS5H8Au0P4S3AYbawBSmJNUtBQ=",
|
||||
"lastModified": 1767281941,
|
||||
"narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c",
|
||||
"rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1059,11 +1143,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764663772,
|
||||
"narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=",
|
||||
"lastModified": 1766725085,
|
||||
"narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
|
||||
"revCount": 713,
|
||||
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff",
|
||||
"revCount": 715,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||
},
|
||||
@@ -1081,11 +1165,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764663772,
|
||||
"narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=",
|
||||
"lastModified": 1766725085,
|
||||
"narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
|
||||
"revCount": 713,
|
||||
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff",
|
||||
"revCount": 715,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||
},
|
||||
@@ -1097,15 +1181,37 @@
|
||||
"quickshell_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"dms",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764663772,
|
||||
"narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=",
|
||||
"lastModified": 1766725085,
|
||||
"narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
|
||||
"revCount": 713,
|
||||
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff",
|
||||
"revCount": 715,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||
},
|
||||
"original": {
|
||||
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff",
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||
}
|
||||
},
|
||||
"quickshell_4": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767693058,
|
||||
"narHash": "sha256-rnLX8IA4yMbKHjYmJPcYCcWrqJ50B8WApQW62l+V9LE=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "6742148cf4a8415a9c51fdeb11d8c3ea716c2e14",
|
||||
"revCount": 717,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||
},
|
||||
@@ -1118,17 +1224,20 @@
|
||||
"inputs": {
|
||||
"caelestia": "caelestia",
|
||||
"caelestia-cli": "caelestia-cli_2",
|
||||
"dgop": "dgop",
|
||||
"dms": "dms",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"hyprland-hyprsplit": "hyprland-hyprsplit",
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"jovian": "jovian",
|
||||
"nix-alien": "nix-alien",
|
||||
"nix-colors": "nix-colors",
|
||||
"nix-index-database": "nix-index-database_2",
|
||||
"nixcord": "nixcord",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"qs-qml": "qs-qml",
|
||||
"quickshell": "quickshell_3",
|
||||
"quickshell": "quickshell_4",
|
||||
"stylix": "stylix",
|
||||
"vicinae": "vicinae",
|
||||
"zen-browser": "zen-browser"
|
||||
@@ -1153,11 +1262,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765386911,
|
||||
"narHash": "sha256-YLjQpnTZCMjCho7ZDs5O1yFVw+fDlXq4lSJDuLWHHeA=",
|
||||
"lastModified": 1767652667,
|
||||
"narHash": "sha256-zsgfockkvK0JrSvzVAb8JeUq3SDdITu6ViUf7yeIpi4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "stylix",
|
||||
"rev": "cb6bbed75eaca21deb8950c2ec0036ae5cde18ca",
|
||||
"rev": "a4406d9799d002c41296c72378a1094a8fc9aa1b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1298,11 +1407,11 @@
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765272078,
|
||||
"narHash": "sha256-etv2HJA9OWvTkjnrjaNSqvebu9gWLIGPYb9PWr4qkfM=",
|
||||
"lastModified": 1767815010,
|
||||
"narHash": "sha256-OPBgcM2ZzbVEUS6lwRpJo2JBfiRK8TmYVSmZImEW2gA=",
|
||||
"owner": "vicinaehq",
|
||||
"repo": "vicinae",
|
||||
"rev": "32cf6b1f82e007cddba9c9ae037eff670219cd55",
|
||||
"rev": "aab965dcf29529c5fab67b9c2fb5f8168f76fa1b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1362,11 +1471,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765430623,
|
||||
"narHash": "sha256-YfJwnCXF3V+WFedx4RtrIdZ8XxF6zB1Oh2ij/EHzoWk=",
|
||||
"lastModified": 1767763594,
|
||||
"narHash": "sha256-5ysv8EuVAgDoYmNuXEUNf7vBzdeRaFxeIlIndv5HMvs=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "f2881ba36cbfc86ef1fe741cec871fe523aea5bd",
|
||||
"rev": "8b2302d8c10369c9135552cc892da75cff5ddb03",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
23
flake.nix
23
flake.nix
@@ -1,6 +1,6 @@
|
||||
{
|
||||
description = "Nixos config flake";
|
||||
inputs = {
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nix-index-database.url = "github:nix-community/nix-index-database";
|
||||
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -22,6 +22,14 @@ inputs = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
#niri.url = "github:sodiboo/niri-flake";
|
||||
dgop = {
|
||||
url = "github:AvengeMedia/dgop";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
dms = {
|
||||
url = "github:AvengeMedia/DankMaterialShell";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
caelestia.url = "github:caelestia-dots/shell";
|
||||
caelestia-cli.url = "github:caelestia-dots/cli";
|
||||
quickshell = {
|
||||
@@ -55,6 +63,11 @@ inputs = {
|
||||
url = "github:vicinaehq/vicinae";
|
||||
#inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# ... your existing inputs ...
|
||||
jovian = {
|
||||
url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
outputs =
|
||||
{
|
||||
@@ -64,7 +77,13 @@ inputs = {
|
||||
}@inputs:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
#pkgs = nixpkgs.legacyPackages.${system};
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux"; # or your system
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
#Avalable options are ["niri" "river" "hyprland" "all"]
|
||||
window_manager = "hyprland";
|
||||
in
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
fsType = "btrfs";
|
||||
})
|
||||
];
|
||||
fileSystems."/home/mrfluffy/Games" = lib.mkMerge [
|
||||
fileSystems."/home/game/Games" = lib.mkMerge [
|
||||
(lib.mkIf (systemName == "pc") {
|
||||
device = "/dev/disk/by-uuid/54188f21-d525-4681-a9d4-b798363eef17";
|
||||
fsType = "ext4";
|
||||
|
||||
101
home/game.nix
Executable file
101
home/game.nix
Executable file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
window_manager,
|
||||
...
|
||||
}:
|
||||
let
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
# Core theming & integrations
|
||||
inputs.nix-colors.homeManagerModules.default
|
||||
inputs.stylix.homeModules.stylix
|
||||
inputs.nixcord.homeModules.nixcord
|
||||
# inputs.niri.homeModules.niri
|
||||
|
||||
# Local modules
|
||||
./sessionVars.nix
|
||||
./stylix.nix
|
||||
./homePkgs.nix
|
||||
./services.nix
|
||||
|
||||
# Dots
|
||||
../dots/foot.nix
|
||||
../dots/zsh.nix
|
||||
../dots/xdg.nix
|
||||
../dots/hyprland.nix
|
||||
../dots/caelestia.nix
|
||||
];
|
||||
|
||||
# You can find color schemes at: https://github.com/tinted-theming/schemes
|
||||
colorScheme = inputs.nix-colors.colorSchemes.hardcore;
|
||||
stylix.base16Scheme.base00 = "141414";
|
||||
|
||||
# Home Manager needs a bit of information about you and the paths it should manage.
|
||||
home.username = "game";
|
||||
home.homeDirectory = "/home/game";
|
||||
|
||||
# This determines compatibility with a specific Home Manager release.
|
||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||
|
||||
# Example GTK block (disabled)
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Reversal-black-dark";
|
||||
package = pkgs.reversal-icon-theme.override { allColorVariants = true; };
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
############################
|
||||
# Wayland / Desktop tools
|
||||
############################
|
||||
lswt
|
||||
swaybg
|
||||
wlr-randr
|
||||
|
||||
############################
|
||||
# Experimental (inputs)
|
||||
############################
|
||||
# inputs.ladybird.packages."${pkgs.stdenv.hostPlatform.system}".ladybird
|
||||
|
||||
# ##########################
|
||||
# Examples (disabled)
|
||||
# ##########################
|
||||
# pkgs.hello
|
||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||
# echo "Hello, ${config.home.username}!"
|
||||
# '')
|
||||
];
|
||||
|
||||
# Dotfiles & static files managed by Home Manager
|
||||
home.file = {
|
||||
".config/nixpkgs/config.nix".text = ''
|
||||
{ allowUnfree = true; }
|
||||
'';
|
||||
".config/doom".source = ../dots/doom;
|
||||
# ".config/quickshell".source = ../dots/shell;
|
||||
# ".config/kitty".source = ../../universal/dots/kitty;
|
||||
# ".config/nvim".source = ../../universal/dots/nvim;
|
||||
"Pictures/Wallpapers".source = ../assets/Wallpapers;
|
||||
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
};
|
||||
|
||||
# If you don't manage your shell with Home Manager, remember to source:
|
||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
|
||||
# /etc/profiles/per-user/mrfluffy/etc/profile.d/hm-session-vars.sh
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
@@ -51,6 +51,7 @@ in
|
||||
profiles.default = {
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
platformio.platformio-vscode-ide
|
||||
ms-vscode.cpptools
|
||||
];
|
||||
|
||||
# Optional: keep Code from trying to self-update
|
||||
@@ -64,13 +65,17 @@ in
|
||||
# enableUpdateCheck = false;
|
||||
# enableExtensionUpdateCheck = false;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
services.vicinae = {
|
||||
enable = true; # default: false
|
||||
autoStart = true; # default: true
|
||||
useLayerShell = false;
|
||||
systemd = {
|
||||
enable = true;
|
||||
environment = {
|
||||
USE_LAYER_SHELL = 1;
|
||||
};
|
||||
};
|
||||
#package = # specify package to use here. Can be omitted.
|
||||
# Installing (vicinae) extensions declaratively
|
||||
#settings = {
|
||||
@@ -86,7 +91,7 @@ in
|
||||
# };
|
||||
#};
|
||||
#extensions = [
|
||||
# (inputs.vicinae.mkVicinaeExtension.${pkgs.system} {
|
||||
# (inputs.vicinae.mkVicinaeExtension.${pkgs.stdenv.hostPlatform.system} {
|
||||
# inherit pkgs;
|
||||
# name = "extension-name";
|
||||
# src = pkgs.fetchFromGitHub {
|
||||
@@ -108,10 +113,12 @@ in
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
android_sdk.accept_license = true;
|
||||
permittedInsecurePackages = [
|
||||
"freeimage-unstable-2021-11-01"
|
||||
"qtwebengine-5.15.19"
|
||||
];
|
||||
rocmSupport = true;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -197,7 +204,7 @@ in
|
||||
imv
|
||||
mpv
|
||||
#upscaler
|
||||
youtube-music
|
||||
pear-desktop
|
||||
libsixel
|
||||
|
||||
############################
|
||||
@@ -209,16 +216,18 @@ in
|
||||
rustc
|
||||
rustup
|
||||
zed-editor
|
||||
|
||||
android-studio-full
|
||||
claude-code
|
||||
# Language tooling from inputs
|
||||
#inputs.qs-qml.packages.${pkgs.system}.qml-ts-mode
|
||||
#inputs.qs-qml.packages.${pkgs.system}.tree-sitter-qmljs
|
||||
#inputs.qs-qml.packages.${pkgs.stdenv.hostPlatform.system}.qml-ts-mode
|
||||
#inputs.qs-qml.packages.${pkgs.stdenv.hostPlatform.system}.tree-sitter-qmljs
|
||||
|
||||
############################
|
||||
# Game Dev / Engines
|
||||
# Game Dev / Engines / Creative
|
||||
############################
|
||||
blender-hip
|
||||
blender
|
||||
godot_4
|
||||
freecad
|
||||
|
||||
############################
|
||||
# Emulation
|
||||
@@ -249,9 +258,12 @@ in
|
||||
rink
|
||||
protontricks
|
||||
|
||||
abaddon
|
||||
|
||||
############################
|
||||
# KDE / File Management
|
||||
############################
|
||||
kdePackages.qt6ct
|
||||
kdePackages.baloo # new
|
||||
kdePackages.baloo-widgets # new
|
||||
kdePackages.dolphin
|
||||
@@ -270,16 +282,19 @@ in
|
||||
hicolor-icon-theme
|
||||
qt6.qtsvg
|
||||
|
||||
adw-gtk3
|
||||
pywalfox-native
|
||||
|
||||
############################
|
||||
# Experimental (inputs)
|
||||
############################
|
||||
#inputs.ladybird.packages."${pkgs.system}".ladybird
|
||||
#inputs.hyprlauncher.packages.${pkgs.system}.default
|
||||
#inputs.ladybird.packages."${pkgs.stdenv.hostPlatform.system}".ladybird
|
||||
#inputs.hyprlauncher.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
|
||||
############################
|
||||
# Blockchain (inputs)
|
||||
############################
|
||||
#inputs.caelestia-cli.packages.${pkgs.system}.caelestia-cli
|
||||
#inputs.caelestia.packages.${pkgs.system}.caelestia-shell
|
||||
#inputs.caelestia-cli.packages.${pkgs.stdenv.hostPlatform.system}.caelestia-cli
|
||||
#inputs.caelestia.packages.${pkgs.stdenv.hostPlatform.system}.caelestia-shell
|
||||
];
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ in
|
||||
../dots/hyprland.nix
|
||||
../dots/hyprpaper.nix
|
||||
../dots/caelestia.nix
|
||||
../dots/dankMeterialShell.nix
|
||||
];
|
||||
|
||||
# You can find color schemes at: https://github.com/tinted-theming/schemes
|
||||
@@ -48,13 +49,25 @@ in
|
||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||
|
||||
# Example GTK block (disabled)
|
||||
# gtk = {
|
||||
# enable = true;
|
||||
# iconTheme = {
|
||||
# name = "Dracula";
|
||||
# # package = pkgs.dracula-icon-theme;
|
||||
# };
|
||||
gtk = {
|
||||
enable = true;
|
||||
gtk3 = {
|
||||
theme = {
|
||||
name = "adw-gtk3";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
};
|
||||
#gtk4 = {
|
||||
# theme = {
|
||||
# name = "adw-gtk3";
|
||||
# package = pkgs.adw-gtk3;
|
||||
# };
|
||||
#};
|
||||
iconTheme = {
|
||||
name = "Reversal-black-dark";
|
||||
package = pkgs.reversal-icon-theme.override { allColorVariants = true; };
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
############################
|
||||
@@ -67,7 +80,7 @@ in
|
||||
############################
|
||||
# Experimental (inputs)
|
||||
############################
|
||||
# inputs.ladybird.packages."${pkgs.system}".ladybird
|
||||
# inputs.ladybird.packages."${pkgs.stdenv.hostPlatform.system}".ladybird
|
||||
|
||||
# ##########################
|
||||
# Examples (disabled)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
#quickshellPackage = inputs.caelestia.packages.${pkgs.system}.caelestia-shell;
|
||||
#quickshellPackage = inputs.caelestia.packages.${pkgs.stdenv.hostPlatform.system}.caelestia-shell;
|
||||
in
|
||||
{
|
||||
#systemd.user.services.quickshell = lib.mkIf (window_manager == "hyprland") {
|
||||
|
||||
@@ -21,37 +21,37 @@ in
|
||||
font-packages.enable = true;
|
||||
# fontconfig.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
flatpakSupport.enable = true;
|
||||
};
|
||||
kde.enable = true;
|
||||
#gtk = {
|
||||
# enable = true;
|
||||
# flatpakSupport.enable = true;
|
||||
#};
|
||||
#kde.enable = true;
|
||||
|
||||
qt.enable = true;
|
||||
vscode.enable = true;
|
||||
#qt.enable = true;
|
||||
#vscode.enable = true;
|
||||
lazygit.enable = true;
|
||||
foot.enable = true;
|
||||
#foot.enable = true;
|
||||
river.enable = true;
|
||||
hyprland.enable = true;
|
||||
#hyprland.enable = true;
|
||||
waybar.enable = true;
|
||||
nixcord.enable = true;
|
||||
|
||||
zen-browser = {
|
||||
enable = true;
|
||||
profileNames = [ "default" ];
|
||||
};
|
||||
firefox = {
|
||||
enable = true;
|
||||
profileNames = [ "default" ];
|
||||
};
|
||||
#zen-browser = {
|
||||
# enable = true;
|
||||
# profileNames = [ "default" ];
|
||||
#};
|
||||
#firefox = {
|
||||
# enable = true;
|
||||
# profileNames = [ "default" ];
|
||||
#};
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
enable = true;
|
||||
package = lib.mkForce (pkgs.reversal-icon-theme.override { allColorVariants = true; });
|
||||
light = "Reversal-black";
|
||||
dark = "Reversal-black-dark";
|
||||
};
|
||||
#iconTheme = {
|
||||
# enable = true;
|
||||
# #package = lib.mkForce (pkgs.reversal-icon-theme.override { allColorVariants = true; });
|
||||
# light = "Reversal-black";
|
||||
# dark = "Reversal-black-dark";
|
||||
#};
|
||||
|
||||
polarity = "dark";
|
||||
image = ../assets/Wallpapers/001.jpg;
|
||||
|
||||
@@ -34,6 +34,8 @@ in
|
||||
../dots/hyprland.nix
|
||||
../dots/hyprpaper.nix
|
||||
../dots/caelestia.nix
|
||||
../dots/dankMeterialShell.nix
|
||||
|
||||
];
|
||||
|
||||
# You can find color schemes at: https://github.com/tinted-theming/schemes
|
||||
@@ -48,13 +50,13 @@ in
|
||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||
|
||||
# Example GTK block (disabled)
|
||||
# gtk = {
|
||||
# enable = true;
|
||||
# iconTheme = {
|
||||
# name = "Dracula";
|
||||
# # package = pkgs.dracula-icon-theme;
|
||||
# };
|
||||
# };
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Reversal-black-dark";
|
||||
package = pkgs.reversal-icon-theme.override { allColorVariants = true; };
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
############################
|
||||
@@ -67,7 +69,6 @@ in
|
||||
############################
|
||||
# Browsers
|
||||
############################
|
||||
brave
|
||||
|
||||
############################
|
||||
# work stuff
|
||||
@@ -76,7 +77,7 @@ in
|
||||
|
||||
|
||||
# swaynotificationcenter
|
||||
# inputs.ladybird.packages."${pkgs.system}".ladybird
|
||||
# inputs.ladybird.packages."${pkgs.stdenv.hostPlatform.system}".ladybird
|
||||
|
||||
# pkgs.hello
|
||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||
|
||||
@@ -55,10 +55,5 @@ extraInstallCommands = ''
|
||||
options v4l2loopback devices=2 video_nr=1,0 card_label="OBS Cam","phone cam" exclusive_caps=1,1
|
||||
'';
|
||||
|
||||
plymouth = {
|
||||
enable = false;
|
||||
themePackages = [ pkgs.plymouth-matrix-theme ];
|
||||
theme = "matrix";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -145,9 +145,18 @@ in
|
||||
|
||||
# NetworkManager applet
|
||||
nm-applet = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
indicator = false;
|
||||
};
|
||||
thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
];
|
||||
};
|
||||
xfconf.enable = true;
|
||||
|
||||
};
|
||||
|
||||
############################
|
||||
@@ -172,8 +181,8 @@ in
|
||||
|
||||
# --- Nix tooling ---
|
||||
nil
|
||||
nixfmt-rfc-style
|
||||
inputs.nix-alien.packages.${pkgs.system}.nix-alien
|
||||
nixfmt
|
||||
inputs.nix-alien.packages.${pkgs.stdenv.hostPlatform.system}.nix-alien
|
||||
|
||||
# --- Wayland / Desktop ---
|
||||
foot
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
|
||||
# Sunshine (only on PC)
|
||||
services.sunshine = lib.mkIf (systemName == "pc") {
|
||||
enable = true;
|
||||
enable = false;
|
||||
settings = {
|
||||
sunshine_name = "nixos";
|
||||
port = 47989;
|
||||
@@ -243,7 +243,7 @@
|
||||
pkgs.platformio-core
|
||||
pkgs.platformio
|
||||
pkgs.openocd
|
||||
pkgs.brave
|
||||
#pkgs.brave
|
||||
];
|
||||
|
||||
# services.udev.extraRules = ''
|
||||
|
||||
116
system/specialisation/main-system.nix
Normal file
116
system/specialisation/main-system.nix
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
window_manager,
|
||||
systemName,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
oreo = pkgs.callPackage ./personalPKGS/oreo.nix { };
|
||||
|
||||
# Window manager toggles
|
||||
wmAll = window_manager == "all";
|
||||
useRiver = window_manager == "river" || wmAll;
|
||||
useNiri = window_manager == "niri" || wmAll;
|
||||
useHypr = window_manager == "hyprland" || wmAll;
|
||||
in
|
||||
|
||||
{
|
||||
# greetd + tuigreet
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
restart = true;
|
||||
useTextGreeter = true;
|
||||
settings.default_session = {
|
||||
command = "${lib.getExe pkgs.tuigreet} --window-padding 1 --time --time-format '%R - %F' --remember --remember-session --asterisks";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
#services.displayManager.dms-greeter = {
|
||||
# enable = true;
|
||||
# compositor.name = "hyprland"; # Or "hyprland" or "sway"
|
||||
# configHome = "${config.users.users.mrfluffy.home}";
|
||||
#};
|
||||
#services.displayManager.cosmic-greeter.enable = true;
|
||||
|
||||
##############################################################################
|
||||
# Desktop / WM
|
||||
##############################################################################
|
||||
programs.river-classic.enable = useRiver;
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "qt5ct";
|
||||
};
|
||||
|
||||
xdg.menus.enable = true;
|
||||
|
||||
# Work around Dolphin menu oddities: force Plasma menu definition
|
||||
environment.etc."/xdg/menus/applications.menu".text =
|
||||
builtins.readFile "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu";
|
||||
|
||||
# Niri (via overlay)
|
||||
#nixpkgs.overlays = [ inputs.niri.overlays.niri ];
|
||||
#programs.niri = {
|
||||
# enable = useNiri;
|
||||
# package = pkgs.niri-stable; # Only needed if not provided by the overlay
|
||||
#};
|
||||
|
||||
# Hyprland
|
||||
programs.hyprland = {
|
||||
enable = useHypr;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
};
|
||||
#services.desktopManager.cosmic = {
|
||||
# enable = true;
|
||||
#};
|
||||
|
||||
# X11 base (kept enabled for keymap + DM if needed)
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
xkb = {
|
||||
layout = "ie";
|
||||
variant = "";
|
||||
};
|
||||
|
||||
# displayManager.lightdm = {
|
||||
# enable = true;
|
||||
# greeters.gtk = {
|
||||
# enable = true;
|
||||
# theme.package = pkgs.amarena-theme;
|
||||
# theme.name = "amarena";
|
||||
# cursorTheme.package = oreo.override { colors = [ "oreo_spark_pink_cursors" ]; };
|
||||
# cursorTheme.name = "oreo_spark_pink_cursors";
|
||||
# extraConfig = "background=${./assets/Wallpapers/138.png}";
|
||||
# };
|
||||
# };
|
||||
};
|
||||
|
||||
##############################################################################
|
||||
# Security / PolicyKit / PAM
|
||||
##############################################################################
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
polkit.enable = true;
|
||||
pam.services = {
|
||||
swaylock = { };
|
||||
greetd.enableGnomeKeyring = true;
|
||||
greetd.kwallet.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
##############################################################################
|
||||
# Virtualisation
|
||||
##############################################################################
|
||||
virtualisation = {
|
||||
docker = {
|
||||
enable = true;
|
||||
storageDriver = lib.mkIf (systemName == "pc") "btrfs";
|
||||
};
|
||||
libvirtd.enable = true;
|
||||
};
|
||||
|
||||
}
|
||||
144
system/specialisation/steam.nix
Normal file
144
system/specialisation/steam.nix
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
boot = {
|
||||
kernelModules = lib.mkForce [
|
||||
"cec"
|
||||
];
|
||||
kernelParams = lib.mkForce [
|
||||
"ipv6e=1"
|
||||
"quiet"
|
||||
"splash"
|
||||
];
|
||||
plymouth = {
|
||||
enable = true;
|
||||
themePackages = [ pkgs.adi1090x-plymouth-themes ];
|
||||
theme = "abstract_ring_alt";
|
||||
};
|
||||
};
|
||||
|
||||
# ── HDMI-CEC: Turn on TV when Steam specialisation starts ─────────────────────
|
||||
services.udev.packages = [ pkgs.libcec ]; # ensures cec-utils is in PATH
|
||||
services.blueman.enable = true;
|
||||
services.seatd.enable = true;
|
||||
|
||||
# A user service that runs once the graphical session (Steam/GameScope) is ready
|
||||
systemd.services.cec-tv-control = {
|
||||
description = "Control TV via HDMI-CEC (turn on early, turn off on shutdown)";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
# Run very early: after modules load and local filesystems are available,
|
||||
# but before Plymouth boot splash quits and before the display manager
|
||||
after = [
|
||||
"systemd-modules-load.service"
|
||||
"local-fs.target"
|
||||
"systemd-udev-settle.service"
|
||||
];
|
||||
before = [
|
||||
"plymouth-quit-wait.service"
|
||||
"greetd.service"
|
||||
];
|
||||
|
||||
# Ensure the /dev/cec* device exists (udev settles early)
|
||||
requires = [ "systemd-udev-settle.service" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
|
||||
# Turn TV on during boot
|
||||
ExecStart = toString (
|
||||
pkgs.writeShellScript "cec-tv-on.sh" ''
|
||||
sleep 3 # Give CEC time to initialize
|
||||
${pkgs.libcec}/bin/cec-client -s -d 1 <<EOF
|
||||
on 0
|
||||
EOF
|
||||
sleep 2
|
||||
${pkgs.libcec}/bin/cec-client -s -d 1 <<EOF
|
||||
as
|
||||
EOF
|
||||
''
|
||||
);
|
||||
|
||||
# Turn TV off on shutdown/reboot (ExecStop runs when the service stops)
|
||||
ExecStop = toString (
|
||||
pkgs.writeShellScript "cec-tv-off.sh" ''
|
||||
${pkgs.libcec}/bin/cec-client -s -d 1 <<EOF
|
||||
standby 0
|
||||
EOF
|
||||
''
|
||||
);
|
||||
};
|
||||
};
|
||||
# THIS is the important part – direct boot into the Gamescope Steam session
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
restart = true;
|
||||
settings = {
|
||||
# Tell greetd to auto-start the official gamescope steam session immediately
|
||||
# HDMI-A-2
|
||||
default_session = {
|
||||
command = "${pkgs.gamescope}/bin/gamescope --prefer-output HDMI-A-2 --hdr-enabled --steam --mangoapp -- steam -pipewire-dmabuf -gamepadui -steamos3 > /dev/null 2>&1";
|
||||
user = "game";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Auto-login the game user (no password prompt ever)
|
||||
services.getty.autologinUser = "game";
|
||||
# Make sure the user service starts automatically
|
||||
systemd.user.targets.graphical-session = {
|
||||
# This target already exists, we just ensure it’s active
|
||||
unitConfig = {
|
||||
RefuseManualStart = false;
|
||||
RefuseManualStop = false;
|
||||
};
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
mangohud
|
||||
gamemode
|
||||
gamescope-wsi
|
||||
];
|
||||
variables = {
|
||||
#LIBSEAT_BACKEND = "logind";
|
||||
};
|
||||
|
||||
};
|
||||
jovian.decky-loader = {
|
||||
enable = true;
|
||||
user = "game"; # Run as your gaming user
|
||||
stateDir = "/home/game/.local/share/decky"; # Store plugins/data in user's home (adjust if preferred)
|
||||
# Optional: Add extra packages if needed for specific plugins
|
||||
# extraPackages = with pkgs; [ some-package ];
|
||||
# extraPythonPackages = ps: with ps; [ some-python-package ];
|
||||
};
|
||||
|
||||
programs = {
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
|
||||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
gamescope
|
||||
mangohud
|
||||
gamemode
|
||||
gamescope-wsi
|
||||
];
|
||||
gamescopeSession = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user