This commit is contained in:
zastian@mrthoddata.com
2025-09-15 13:04:52 +01:00
parent cdb912796e
commit 935257bc4b
7 changed files with 638 additions and 139 deletions

View File

@@ -71,7 +71,10 @@ in
}; };
# Hyprland # Hyprland
programs.hyprland.enable = useHypr; programs.hyprland = {
enable = useHypr;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
};
# X11 base (kept enabled for keymap + DM if needed) # X11 base (kept enabled for keymap + DM if needed)
services.xserver = { services.xserver = {

View File

@@ -9,7 +9,9 @@
}: }:
let let
caelestia-cli = inputs.caelestia-cli.packages.${pkgs.system}.caelestia-cli; 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;
mod = "Alt"; mod = "Alt";
terminal = "footclient"; terminal = "footclient";
fileManager = "dolphin"; fileManager = "dolphin";
@@ -21,9 +23,11 @@ in
{ {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = window_manager == "hyprland" || window_manager == "all"; enable = window_manager == "hyprland" || window_manager == "all";
package = hypr-package;
portalPackage = hypr-portal;
plugins = [ plugins = [
pkgs.hyprlandPlugins.hyprsplit #pkgs.hyprlandPlugins.hyprsplit
pkgs.hyprlandPlugins.hyprscrolling hypr-split
]; ];
settings = { settings = {
@@ -105,16 +109,9 @@ in
########################################################################## ##########################################################################
plugin = { plugin = {
hyprsplit = { split-monitor-workspaces = {
num_workspaces = 10; count = 10;
persistent_workspaces = true; penable_persistent_workspaces = 1;
};
hyprscrolling = {
fullscreen_on_one_column = false;
column_width = 0.7;
explicit_column_widths = [ 0.333 0.5 0.667 1.0 ];
focus_fit_method = 0;
}; };
}; };
@@ -308,28 +305,28 @@ in
"${mod} SHIFT, J, movewindow, d" "${mod} SHIFT, J, movewindow, d"
# Workspaces (switch) # Workspaces (switch)
"${mod}, 1, split:workspace, 1 " "${mod}, 1, split-workspace, 1 "
"${mod}, 2, split:workspace, 2 " "${mod}, 2, split-workspace, 2 "
"${mod}, 3, split:workspace, 3 " "${mod}, 3, split-workspace, 3 "
"${mod}, 4, split:workspace, 4 " "${mod}, 4, split-workspace, 4 "
"${mod}, 5, split:workspace, 5 " "${mod}, 5, split-workspace, 5 "
"${mod}, 6, split:workspace, 6 " "${mod}, 6, split-workspace, 6 "
"${mod}, 7, split:workspace, 7 " "${mod}, 7, split-workspace, 7 "
"${mod}, 8, split:workspace, 8 " "${mod}, 8, split-workspace, 8 "
"${mod}, 9, split:workspace, 9 " "${mod}, 9, split-workspace, 9 "
"${mod}, 0, split:workspace, 10" "${mod}, 0, split-workspace, 10"
# Workspaces (move active window) # Workspaces (move active window)
"${mod} SHIFT, 1, split:movetoworkspacesilent, 1 " "${mod} SHIFT, 1, split-movetoworkspacesilent, 1 "
"${mod} SHIFT, 2, split:movetoworkspacesilent, 2 " "${mod} SHIFT, 2, split-movetoworkspacesilent, 2 "
"${mod} SHIFT, 3, split:movetoworkspacesilent, 3 " "${mod} SHIFT, 3, split-movetoworkspacesilent, 3 "
"${mod} SHIFT, 4, split:movetoworkspacesilent, 4 " "${mod} SHIFT, 4, split-movetoworkspacesilent, 4 "
"${mod} SHIFT, 5, split:movetoworkspacesilent, 5 " "${mod} SHIFT, 5, split-movetoworkspacesilent, 5 "
"${mod} SHIFT, 6, split:movetoworkspacesilent, 6 " "${mod} SHIFT, 6, split-movetoworkspacesilent, 6 "
"${mod} SHIFT, 7, split:movetoworkspacesilent, 7 " "${mod} SHIFT, 7, split-movetoworkspacesilent, 7 "
"${mod} SHIFT, 8, split:movetoworkspacesilent, 8 " "${mod} SHIFT, 8, split-movetoworkspacesilent, 8 "
"${mod} SHIFT, 9, split:movetoworkspacesilent, 9 " "${mod} SHIFT, 9, split-movetoworkspacesilent, 9 "
"${mod} SHIFT, 0, split:movetoworkspacesilent, 10" "${mod} SHIFT, 0, split-movetoworkspacesilent, 10"
# Special workspace (scratchpad) # Special workspace (scratchpad)
"${mod}, SLASH, togglespecialworkspace, magic" "${mod}, SLASH, togglespecialworkspace, magic"

View File

@@ -3,81 +3,97 @@
lib, lib,
pkgs, pkgs,
window_manager, window_manager,
inputs,
... ...
}: }:
{ {
xdg = { xdg = {
enable = true; enable = true;
portal = { portal = {
enable = true; enable = true;
config.common.default = [ config.common.default = [
"hyprland;kde" "hyprland;kde"
"river" "river"
"kde" "kde"
"gtk" "gtk"
]; ];
xdgOpenUsePortal = true; xdgOpenUsePortal = true;
extraPortals = with pkgs; [ extraPortals = with pkgs; [
xdg-desktop-portal-wlr xdg-desktop-portal-wlr
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
kdePackages.xdg-desktop-portal-kde kdePackages.xdg-desktop-portal-kde
]; ];
}; };
mime.enable = true; mime.enable = true;
mimeApps = { mimeApps = {
enable = true; enable = true;
defaultApplications = defaultApplications =
let let
browser = [ "zen-beta.desktop" ]; browser = [ "zen-beta.desktop" ];
fileManager = [ "pcmanfm.desktop" ]; fileManager = [ "pcmanfm.desktop" ];
editor = [ "emacs.desktop" ]; editor = [ "emacs.desktop" ];
player = [ "mpv.desktop" ]; player = [ "mpv.desktop" ];
viewer = [ "imv-dir.desktop" ]; viewer = [ "imv-dir.desktop" ];
reader = [ "org.pwmt.zathura.desktop" ]; reader = [ "org.pwmt.zathura.desktop" ];
in in {
{ # Documents
"application/pdf" = reader; "application/pdf" = reader;
"application/epub" = reader; "application/epub" = reader;
"text/html" = browser; # Text / markup
"text/xml" = browser; "text/plain" = editor;
"text/plain" = editor;
"application/x-wine-extension-ini" = editor; "application/x-wine-extension-ini" = editor;
"text/html" = browser;
"text/xml" = browser;
"application/json" = browser; # Web / XML-ish
"application/xml" = browser; "application/json" = browser;
"application/xhtml+xml" = browser; "application/xml" = browser;
"application/xhtml_xml" = browser; "application/xhtml+xml" = browser;
"application/rdf+xml" = browser; "application/xhtml_xml" = browser;
"application/rss+xml" = browser; "application/rdf+xml" = browser;
"application/x-extension-htm" = browser; "application/rss+xml" = browser;
"application/x-extension-html" = browser; "application/x-extension-htm" = browser;
"application/x-extension-html" = browser;
"application/x-extension-shtml" = browser; "application/x-extension-shtml" = browser;
"application/x-extension-xht" = browser; "application/x-extension-xht" = browser;
"application/x-extension-xhtml" = browser; "application/x-extension-xhtml" = browser;
# URL schemes
"x-scheme-handler/about" = browser; "x-scheme-handler/about" = browser;
"x-scheme-handler/ftp" = browser; "x-scheme-handler/ftp" = browser;
"x-scheme-handler/http" = browser; "x-scheme-handler/http" = browser;
"x-scheme-handler/https" = browser; "x-scheme-handler/https" = browser;
# Files / directories
"inode/directory" = fileManager; "inode/directory" = fileManager;
"application/zip" = fileManager; "application/zip" = fileManager;
# Audio
"audio/mpeg" = player; "audio/mpeg" = player;
"audio/aac" = player; "audio/aac" = player;
"audio/flac" = player; "audio/flac" = player;
"audio/wav" = player; "audio/wav" = player;
"video/mp4" = player;
"video/vnd.mpegurl" = player; # Video
"video/x-matroska" = player; "video/mp4" = player;
"video/vnd.mpegurl" = player;
"video/x-matroska" = player;
"application/x-mpegURL" = player; "application/x-mpegURL" = player;
"image/gif" = viewer; # Images
"image/gif" = viewer;
"image/jpeg" = viewer; "image/jpeg" = viewer;
"image/png" = viewer; "image/png" = viewer;
"image/webp" = viewer; "image/webp" = viewer;
}; };
}; };
@@ -85,13 +101,14 @@
userDirs = { userDirs = {
enable = true; enable = true;
createDirectories = true; createDirectories = true;
download = "${config.home.homeDirectory}/Downloads";
documents = "${config.home.homeDirectory}/Documents"; download = "${config.home.homeDirectory}/Downloads";
desktop = "${config.home.homeDirectory}/Desktop"; documents = "${config.home.homeDirectory}/Documents";
videos = "${config.home.homeDirectory}/Videos"; desktop = "${config.home.homeDirectory}/Desktop";
pictures = "${config.home.homeDirectory}/Pictures"; videos = "${config.home.homeDirectory}/Videos";
music = "${config.home.homeDirectory}/Music"; pictures = "${config.home.homeDirectory}/Pictures";
templates = "${config.home.homeDirectory}/.local/share/templates"; music = "${config.home.homeDirectory}/Music";
templates = "${config.home.homeDirectory}/.local/share/templates";
publicShare = "${config.home.homeDirectory}/.local/share/public"; publicShare = "${config.home.homeDirectory}/.local/share/public";
}; };
@@ -100,7 +117,8 @@
--enable-features=UseOzonePlatform --enable-features=UseOzonePlatform
--ozone-platform-hint=wayland --ozone-platform-hint=wayland
''; '';
#configFile."hypr/hyprland.conf".onChange = "hyprctl reload";
# Example:
# configFile."hypr/hyprland.conf".onChange = "hyprctl reload";
}; };
} }

View File

@@ -6,69 +6,77 @@
}: }:
{ {
programs.zsh = { programs.zsh = {
enable = true; enable = true;
dotDir = ".config/zsh"; dotDir = ".config/zsh";
plugins = [ plugins = [
#pkgs.zsh-autosuggestions # pkgs.zsh-autosuggestions
#pkgs.spaceship-prompt # pkgs.spaceship-prompt
]; ];
autosuggestion = { autosuggestion = {
enable = true; enable = true;
highlight = "fg=#64677a,bold,underline"; highlight = "fg=#64677a,bold,underline";
}; };
history = { history = {
path = "$XDG_DATA_HOME/zsh/history"; path = "$XDG_DATA_HOME/zsh/history";
}; };
sessionVariables = { sessionVariables = {
LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib"; LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib";
HISTSIZE = 3000; HISTSIZE = 3000;
SAVEHIST = 3000; SAVEHIST = 3000;
CARGO_HOME = "$XDG_DATA_HOME/cargo"; CARGO_HOME = "$XDG_DATA_HOME/cargo";
GNUPGHOME = "$XDG_DATA_HOME/gnupg"; GNUPGHOME = "$XDG_DATA_HOME/gnupg";
GOPATH = "$XDG_DATA_HOME/go"; GOPATH = "$XDG_DATA_HOME/go";
GRADLE_USER_HOME = "$XDG_DATA_HOME/gradle"; GRADLE_USER_HOME = "$XDG_DATA_HOME/gradle";
IPYTHONDIR = "$XDG_CONFIG_HOMEipython"; IPYTHONDIR = "$XDG_CONFIG_HOMEipython";
JUPYTER_CONFIG_DIR = "$XDG_CONFIG_HOME/jupyter"; JUPYTER_CONFIG_DIR = "$XDG_CONFIG_HOME/jupyter";
LESSHISTFILE = "$XDG_CACHE_HOME/less/history"; LESSHISTFILE = "$XDG_CACHE_HOME/less/history";
NUGET_PACKAGES = "$XDG_CACHE_HOME/NuGetPackages"; NUGET_PACKAGES = "$XDG_CACHE_HOME/NuGetPackages";
PYTHONSTARTUP = "$XDG_CONFIG_HOME/python/pythonrc"; PYTHONSTARTUP = "$XDG_CONFIG_HOME/python/pythonrc";
KERAS_HOME = "$XDG_STATE_HOME/keras"; KERAS_HOME = "$XDG_STATE_HOME/keras";
RUSTUP_HOME = "$XDG_DATA_HOME/rustup"; RUSTUP_HOME = "$XDG_DATA_HOME/rustup";
XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose"; XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose";
SSB_HOME = "$XDG_DATA_HOME/zoom"; SSB_HOME = "$XDG_DATA_HOME/zoom";
HISTFILE = "$XDG_STATE_HOME/zsh/history"; HISTFILE = "$XDG_STATE_HOME/zsh/history";
}; };
shellAliases = { shellAliases = {
nix-switch = "sudo nixos-rebuild switch"; nix-switch = "sudo nixos-rebuild switch";
nix-upgrade = "sudo nixos-rebuild switch --upgrade"; nix-upgrade = "sudo nixos-rebuild switch --upgrade";
nix-edit = "sudo vim /etc/nixos/configuration.nix"; nix-edit = "sudo vim /etc/nixos/configuration.nix";
ls = "exa -lag --icons";
upload = "~/.config/script/upload.sh"; ls = "exa -lag --icons";
record = "~/.config/script/record.sh"; upload = "~/.config/script/upload.sh";
speak = "~/.config/script/wisper.sh"; record = "~/.config/script/record.sh";
vim = "nvim"; speak = "~/.config/script/wisper.sh";
cat = "bat"; vim = "nvim";
anime = "~/repos/ani-cli/ani-cli"; cat = "bat";
hentai = "~/repos/and-scripts/fap-cli"; anime = "~/repos/ani-cli/ani-cli";
manga = "manga-cli"; hentai = "~/repos/and-scripts/fap-cli";
yt = "~/repos/ytfzf/ytfzf --thumb-viewer='kitty' -t"; manga = "manga-cli";
cd = "z"; yt = "~/repos/ytfzf/ytfzf --thumb-viewer='kitty' -t";
rm = "rip"; cd = "z";
df = "duf"; rm = "rip";
time = "hyperfine"; df = "duf";
kami = "~/Documents/Rust/kami/target/release/kami"; time = "hyperfine";
calc = "cpc"; kami = "~/Documents/Rust/kami/target/release/kami";
pdf = "mupdf"; calc = "cpc";
emacs = "emacs"; pdf = "mupdf";
river = "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river && river"; emacs = "emacs";
cp = "xcp"; river = "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river && river";
wget = "wget --hsts-file=$XDG_DATA_HOME/wget-hsts"; cp = "xcp";
wget = "wget --hsts-file=$XDG_DATA_HOME/wget-hsts";
}; };
initContent = '' initContent = ''
eval "$(${lib.getExe pkgs.zoxide} init zsh)" eval "$(${lib.getExe pkgs.zoxide} init zsh)"
eval "$(${lib.getExe pkgs.atuin} init zsh)" eval "$(${lib.getExe pkgs.atuin} init zsh)"
source ${pkgs.spaceship-prompt}/lib/spaceship-prompt/spaceship.zsh source ${pkgs.spaceship-prompt}/lib/spaceship-prompt/spaceship.zsh
''; '';
envExtra = '' envExtra = ''
${lib.getExe pkgs.macchina} ${lib.getExe pkgs.macchina}
nixdev() { nixdev() {

505
flake.lock generated
View File

@@ -9,11 +9,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1757042560, "lastModified": 1757328288,
"narHash": "sha256-M+N9yi0ziCVeMGuqMnLRZBoIoZHXCvWNlkLBpyp+4Jo=", "narHash": "sha256-sAENodEKjnK3w3aZ/Iv64W5mmONGEJx8ns05gjpnR58=",
"owner": "Kirottu", "owner": "Kirottu",
"repo": "anyrun", "repo": "anyrun",
"rev": "df2a914b5acdd0f39ed4bf4336afc9e94fb28be8", "rev": "0a72f4e56cf1428a51aa571344c4220990633cb3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -22,6 +22,39 @@
"type": "github" "type": "github"
} }
}, },
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1755946532,
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"base16": { "base16": {
"inputs": { "inputs": {
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
@@ -210,6 +243,7 @@
} }
}, },
"flake-compat": { "flake-compat": {
"flake": false,
"locked": { "locked": {
"lastModified": 1747046372, "lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
@@ -225,6 +259,21 @@
} }
}, },
"flake-compat_2": { "flake-compat_2": {
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
@@ -314,6 +363,28 @@
"type": "github" "type": "github"
} }
}, },
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gnome-shell": { "gnome-shell": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -351,21 +422,301 @@
"type": "github" "type": "github"
} }
}, },
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753964049,
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1756891319,
"narHash": "sha256-/e6OXxzbAj/o97Z1dZgHre4bNaVjapDGscAujSCQSbI=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "621e2e00f1736aa18c68f7dfbf2b9cff94b8cc4d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-protocols": "hyprland-protocols",
"hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_3",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1757322502,
"narHash": "sha256-DZTe3kDshcT2TOoWCJ2Nc/7k+PLqkaW2KkYJqt5wz7k=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "b619f39555b96c70330f4a933dedde7e897e0d81",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-hyprsplit": {
"inputs": {
"hyprland": [
"hyprland"
],
"nix-filter": "nix-filter"
},
"locked": {
"lastModified": 1756589646,
"narHash": "sha256-ppER/Y2M0tUSLR3/msph+Kt8TF7/h9Q2qxjEaqVTKnw=",
"owner": "Duckonaut",
"repo": "split-monitor-workspaces",
"rev": "6af9cdf7d739e667c638b1ac10fec0ba7ba6b86c",
"type": "github"
},
"original": {
"owner": "Duckonaut",
"repo": "split-monitor-workspaces",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1749046714,
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-qt-support": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprland-qtutils",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"hyprland-qtutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-qtutils",
"systems"
]
},
"locked": {
"lastModified": 1749154592,
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"type": "github"
}
},
"hyprland-qtutils": {
"inputs": {
"hyprland-qt-support": "hyprland-qt-support",
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-qtutils",
"hyprlang",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753819801,
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1756810301,
"narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1756117388,
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1755184602,
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"niri": { "niri": {
"inputs": { "inputs": {
"niri-stable": "niri-stable", "niri-stable": "niri-stable",
"niri-unstable": "niri-unstable", "niri-unstable": "niri-unstable",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_4",
"nixpkgs-stable": "nixpkgs-stable", "nixpkgs-stable": "nixpkgs-stable",
"xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1757246205, "lastModified": 1757324011,
"narHash": "sha256-x+cTvOZL5Fwa/YVmfMEnXg1+bjj4e8wYGoe1pt6c/oM=", "narHash": "sha256-iGAWGz2uG8GsGw9114FZnTcaAn0uiLXDPmYzzuM69w8=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "4f38421373b783cfbe395973fda7a1b39af60200", "rev": "a0ec3abc11e90afa47150dd2d3607920a63c056c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -409,7 +760,7 @@
}, },
"nix-alien": { "nix-alien": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat_2",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@@ -448,6 +799,21 @@
"type": "github" "type": "github"
} }
}, },
"nix-filter": {
"locked": {
"lastModified": 1731533336,
"narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "f7653272fd234696ae94229839a99b73c9ab7de0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nix-index-database": { "nix-index-database": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -471,9 +837,9 @@
}, },
"nixcord": { "nixcord": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1757207094, "lastModified": 1757207094,
@@ -537,11 +903,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1757020766, "lastModified": 1757244434,
"narHash": "sha256-PLoSjHRa2bUbi1x9HoXgTx2AiuzNXs54c8omhadyvp0=", "narHash": "sha256-AeqTqY0Y95K1Fgs6wuT1LafBNcmKxcOkWnm4alD9pqM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "fe83bbdde2ccdc2cb9573aa846abe8363f79a97a", "rev": "092c565d333be1e17b4779ac22104338941d913f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -584,6 +950,22 @@
} }
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": {
"lastModified": 1757068644,
"narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1754028485, "lastModified": 1754028485,
"narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=", "narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=",
@@ -599,7 +981,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1757068644, "lastModified": 1757068644,
"narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=",
@@ -615,7 +997,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1756819007, "lastModified": 1756819007,
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=", "narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
@@ -656,6 +1038,29 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1757239681,
"narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"qs-qml": { "qs-qml": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -745,11 +1150,13 @@
"caelestia": "caelestia", "caelestia": "caelestia",
"caelestia-cli": "caelestia-cli_2", "caelestia-cli": "caelestia-cli_2",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland",
"hyprland-hyprsplit": "hyprland-hyprsplit",
"niri": "niri", "niri": "niri",
"nix-alien": "nix-alien", "nix-alien": "nix-alien",
"nix-colors": "nix-colors", "nix-colors": "nix-colors",
"nixcord": "nixcord", "nixcord": "nixcord",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_6",
"qs-qml": "qs-qml", "qs-qml": "qs-qml",
"quickshell": "quickshell_3", "quickshell": "quickshell_3",
"stylix": "stylix", "stylix": "stylix",
@@ -765,9 +1172,9 @@
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_3",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_7",
"nur": "nur", "nur": "nur",
"systems": "systems_2", "systems": "systems_3",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes", "tinted-schemes": "tinted-schemes",
@@ -804,6 +1211,21 @@
} }
}, },
"systems_2": { "systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_3": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -899,6 +1321,47 @@
"type": "github" "type": "github"
} }
}, },
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1755354946,
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"xwayland-satellite-stable": { "xwayland-satellite-stable": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -942,11 +1405,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757218898, "lastModified": 1757308755,
"narHash": "sha256-mB3z1ssPry/wHgLd8gFOaltwQ9kIRTqrzikkcnxG720=", "narHash": "sha256-daEx9piqNWMVsfJx91O2lKtSTPUXnanS755M1oo5zLU=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "2255b29eece0757827b9911ef685c963996542b6", "rev": "36f0082103e6a4f3ec51e5c48a4c79426c8c6853",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -37,6 +37,15 @@
url = "github:thiagokokada/nix-alien"; url = "github:thiagokokada/nix-alien";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland = {
url = "github:hyprwm/Hyprland";
#inputs.nixpkgs.follows = "nixpkgs";
};
hyprland-hyprsplit = {
url = "github:Duckonaut/split-monitor-workspaces";
inputs.hyprland.follows = "hyprland";
};
}; };
outputs = outputs =
@@ -48,6 +57,7 @@
}@inputs: }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
#Avalable options are ["niri" "river" "hyprland" "all"] #Avalable options are ["niri" "river" "hyprland" "all"]
window_manager = "hyprland"; window_manager = "hyprland";
in in

View File

@@ -107,7 +107,7 @@
package = pkgs.emacs-pgtk; package = pkgs.emacs-pgtk;
}; };
services.flatpak.enable = true; #services.flatpak.enable = true;
# Sunshine (only on PC) # Sunshine (only on PC)
services.sunshine = lib.mkIf (systemName == "pc") { services.sunshine = lib.mkIf (systemName == "pc") {