Compare commits
18 Commits
83fcdd9710
...
master
Author | SHA1 | Date | |
---|---|---|---|
815387a87e
|
|||
3c93a7e549
|
|||
e677a74c41
|
|||
a0d6bb0ab7
|
|||
03cf08f0d4
|
|||
c977589fde
|
|||
7af7980e07
|
|||
c47ca40705
|
|||
ebd19812a2
|
|||
844561a87c
|
|||
206d34adb2
|
|||
fa0a8f6901
|
|||
6db7efe71b
|
|||
1418e62598
|
|||
59075d1619
|
|||
db8ada4360
|
|||
6951525a3b
|
|||
295651262a
|
BIN
Btop.png
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 2.2 MiB |
BIN
FastFetch.png
Before Width: | Height: | Size: 1.9 MiB After Width: | Height: | Size: 2.0 MiB |
BIN
NeoVim.png
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 2.0 MiB |
BIN
Rmpc.png
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 2.3 MiB |
@ -7,5 +7,6 @@
|
|||||||
|
|
||||||
monolisa = pkgs.callPackage ./monolisa {};
|
monolisa = pkgs.callPackage ./monolisa {};
|
||||||
msty = pkgs.callPackage ./msty {};
|
msty = pkgs.callPackage ./msty {};
|
||||||
|
unityhub = pkgs.callPackage ./unityhub {};
|
||||||
tidal-dl-ng = pkgs.callPackage ./tidal-dl-ng {};
|
tidal-dl-ng = pkgs.callPackage ./tidal-dl-ng {};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
# Taken from pull/422785
|
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
@ -47,7 +46,15 @@ stdenv.mkDerivation rec {
|
|||||||
++ extraPkgs pkgs;
|
++ extraPkgs pkgs;
|
||||||
|
|
||||||
multiPkgs = pkgs:
|
multiPkgs = pkgs:
|
||||||
with pkgs;
|
with pkgs; let
|
||||||
|
libxml2-legacy = libxml2.overrideAttrs (previousAttrs: rec {
|
||||||
|
version = "2.13.8";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor version}/libxml2-${version}.tar.xz";
|
||||||
|
hash = "sha256-J3KUyzMRmrcbK8gfL0Rem8lDW4k60VuyzSsOhZoO6Eo=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in
|
||||||
[
|
[
|
||||||
# Unity Hub ldd dependencies
|
# Unity Hub ldd dependencies
|
||||||
cups
|
cups
|
||||||
@ -94,7 +101,7 @@ stdenv.mkDerivation rec {
|
|||||||
xorg.libXcursor
|
xorg.libXcursor
|
||||||
glib
|
glib
|
||||||
gdk-pixbuf
|
gdk-pixbuf
|
||||||
libxml2
|
libxml2-legacy
|
||||||
zlib
|
zlib
|
||||||
clang
|
clang
|
||||||
git # for git-based packages in unity package manager
|
git # for git-based packages in unity package manager
|
43
flake.lock
generated
@ -627,7 +627,7 @@
|
|||||||
},
|
},
|
||||||
"naersk": {
|
"naersk": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733346208,
|
"lastModified": 1733346208,
|
||||||
@ -647,9 +647,7 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_2"
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752566074,
|
"lastModified": 1752566074,
|
||||||
@ -718,7 +716,39 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1753115646,
|
||||||
|
"narHash": "sha256-yLuz5cz5Z+sn8DRAfNkrd2Z1cV6DaYO9JMrEz4KZo/c=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "92c2e04a475523e723c67ef872d8037379073681",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-25.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752950548,
|
||||||
|
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752950548,
|
"lastModified": 1752950548,
|
||||||
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
||||||
@ -734,7 +764,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734323986,
|
"lastModified": 1734323986,
|
||||||
"narHash": "sha256-m/lh6hYMIWDYHCAsn81CDAiXoT3gmxXI9J987W5tZrE=",
|
"narHash": "sha256-m/lh6hYMIWDYHCAsn81CDAiXoT3gmxXI9J987W5tZrE=",
|
||||||
@ -888,7 +918,8 @@
|
|||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"nix-alien": "nix-alien",
|
"nix-alien": "nix-alien",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"nps": "nps",
|
"nps": "nps",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
|
58
flake.nix
@ -12,6 +12,9 @@
|
|||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
hardware.url = "github:nixos/nixos-hardware";
|
hardware.url = "github:nixos/nixos-hardware";
|
||||||
|
|
||||||
|
# NOTE: Update this after May and November
|
||||||
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||||
|
|
||||||
# Home Manager
|
# Home Manager
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@ -38,7 +41,9 @@
|
|||||||
|
|
||||||
# Run unpatched binaries on NixOS
|
# Run unpatched binaries on NixOS
|
||||||
nix-alien.url = "github:thiagokokada/nix-alien";
|
nix-alien.url = "github:thiagokokada/nix-alien";
|
||||||
nix-alien.inputs.nixpkgs.follows = "nixpkgs";
|
# Don't follow nixpkgs:
|
||||||
|
# https://github.com/thiagokokada/nix-alien#user-content-nixos-installation-with-flakes
|
||||||
|
# nix-alien.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# Hyprland (use flake so plugins are not built from source)
|
# Hyprland (use flake so plugins are not built from source)
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
@ -52,7 +57,7 @@
|
|||||||
hypr-dynamic-cursors.inputs.nixpkgs.follows = "nixpkgs";
|
hypr-dynamic-cursors.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
hypr-dynamic-cursors.inputs.hyprland.follows = "hyprland";
|
hypr-dynamic-cursors.inputs.hyprland.follows = "hyprland";
|
||||||
hyprspace.url = "github:KZDKM/Hyprspace";
|
hyprspace.url = "github:KZDKM/Hyprspace";
|
||||||
hyprspace.inputs.nixpkgs.follows = "nixpkgs";
|
# hyprspace.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
hyprspace.inputs.hyprland.follows = "hyprland";
|
hyprspace.inputs.hyprland.follows = "hyprland";
|
||||||
|
|
||||||
# NeoVim <3
|
# NeoVim <3
|
||||||
@ -74,10 +79,6 @@
|
|||||||
# Realtime audio
|
# Realtime audio
|
||||||
# musnix.url = "github:musnix/musnix";
|
# musnix.url = "github:musnix/musnix";
|
||||||
# musnix.inputs.nixpkgs.follows = "nixpkgs";
|
# musnix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# Pinned versions
|
|
||||||
# v4l2loopback-pinned.url = "github:nixos/nixpkgs/4684fd6b0c01e4b7d99027a34c93c2e09ecafee2";
|
|
||||||
# unityhub-pinned.url = "github:huantianad/nixpkgs/9542b0bc7701e173a10e6977e57bbba68bb3051f";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Outputs is a function that takes the inputs as arguments.
|
# Outputs is a function that takes the inputs as arguments.
|
||||||
@ -111,41 +112,24 @@
|
|||||||
# firefox = prev.firefox.override { ... };
|
# firefox = prev.firefox.override { ... };
|
||||||
# myBrowser = final.firefox;
|
# myBrowser = final.firefox;
|
||||||
# }
|
# }
|
||||||
overlays = [
|
overlays = let
|
||||||
|
# Maintain additional stable pkgs.
|
||||||
|
# This is supposed to provide a backup for packages in case they
|
||||||
|
# stop building on the unstable branch.
|
||||||
|
# It should otherwise not be mixed with this configuration,
|
||||||
|
# so don't even pass it to the modules.
|
||||||
|
pkgs-stable = import inputs.nixpkgs-stable {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
config.allowUnfreePredicate = pkg: true;
|
||||||
|
};
|
||||||
|
in [
|
||||||
inputs.devshell.overlays.default
|
inputs.devshell.overlays.default
|
||||||
inputs.nur.overlays.default
|
inputs.nur.overlays.default
|
||||||
# inputs.emacs-overlay.overlay
|
# inputs.emacs-overlay.overlay
|
||||||
|
|
||||||
# Overriding specific packages from a different nixpkgs (e.g. a pull request)
|
# All my own overlays (derivations + modifications)
|
||||||
# can be done like this. Note that this creates an additional nixpkgs instance.
|
(import ./overlays {inherit inputs nixpkgs pkgs-stable;})
|
||||||
# https://github.com/NixOS/nixpkgs/issues/418451
|
|
||||||
# (final: prev: {
|
|
||||||
# unityhub_pinned_3_13 = import inputs.unityhub-pinned {
|
|
||||||
# config.allowUnfree = true;
|
|
||||||
# localSystem = {inherit (prev) system;};
|
|
||||||
# };
|
|
||||||
# })
|
|
||||||
|
|
||||||
# TODO: Remove this after 0.15.1 hit nixpkgs
|
|
||||||
(final: prev: {
|
|
||||||
neovide = prev.neovide.overrideAttrs (finalAttrs: prevAttrs: {
|
|
||||||
version = "0.15.1";
|
|
||||||
src = prev.fetchFromGitHub {
|
|
||||||
owner = "neovide";
|
|
||||||
repo = "neovide";
|
|
||||||
tag = finalAttrs.version;
|
|
||||||
hash = "sha256-2iV3g6tcCkMF7sFG/GZDz3czPZNIDi6YLfrVzYO9jYI=";
|
|
||||||
};
|
|
||||||
cargoHash = "sha256-YlHAcUCRk6ROg5yXIumHfsiR/2TrsSzbuXz/IQK7sEo=";
|
|
||||||
cargoDeps = prev.rustPlatform.fetchCargoVendor {
|
|
||||||
inherit (finalAttrs) pname src version;
|
|
||||||
hash = finalAttrs.cargoHash;
|
|
||||||
};
|
|
||||||
});
|
|
||||||
})
|
|
||||||
|
|
||||||
# All my own overlays
|
|
||||||
(import ./overlays {inherit nixpkgs inputs;})
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -41,8 +41,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
# TODO: Reenable after build-failure on 2025-07-18
|
beets.enable = !headless;
|
||||||
beets.enable = false; # !headless;
|
|
||||||
|
|
||||||
btop.enable = true;
|
btop.enable = true;
|
||||||
|
|
||||||
@ -82,7 +81,7 @@
|
|||||||
signCommits = true;
|
signCommits = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprland = import ./hyprland.nix {inherit config headless;};
|
hyprland = import ./hyprland.nix {inherit pkgs config headless;};
|
||||||
hyprpanel.enable = !headless;
|
hyprpanel.enable = !headless;
|
||||||
kitty.enable = !headless;
|
kitty.enable = !headless;
|
||||||
lazygit.enable = true;
|
lazygit.enable = true;
|
||||||
@ -460,7 +459,155 @@
|
|||||||
enableFishIntegration = config.modules.fish.enable;
|
enableFishIntegration = config.modules.fish.enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
fastfetch.enable = true;
|
fastfetch = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
logo = {
|
||||||
|
padding = {
|
||||||
|
top = 3;
|
||||||
|
left = 1;
|
||||||
|
right = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
display = {
|
||||||
|
separator = "";
|
||||||
|
key.width = 17;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Box Drawing: ╭ ─ ╮ ╰ ╯ │
|
||||||
|
modules = [
|
||||||
|
# Title
|
||||||
|
{
|
||||||
|
type = "title";
|
||||||
|
format = "{#1}╭─── {#}{user-name-colored}";
|
||||||
|
}
|
||||||
|
|
||||||
|
# System Information
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "{#1}│ {#}System Information";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "os";
|
||||||
|
key = "{#separator}│ {#keys} OS";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "kernel";
|
||||||
|
key = "{#separator}│ {#keys} Kernel";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "bootmgr";
|
||||||
|
key = "{#separator}│ {#keys} BootMGR";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "uptime";
|
||||||
|
key = "{#separator}│ {#keys} Uptime";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "packages";
|
||||||
|
key = "{#separator}│ {#keys} Packages";
|
||||||
|
# format = "{all}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "{#1}│";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Desktop Environment
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "{#1}│ {#}Desktop Environment";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "de";
|
||||||
|
key = "{#separator}│ {#keys} DE";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "wm";
|
||||||
|
key = "{#separator}│ {#keys} WM";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "wmtheme";
|
||||||
|
key = "{#separator}│ {#keys} Theme";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "display";
|
||||||
|
key = "{#separator}│ {#keys} Resolution";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "shell";
|
||||||
|
key = "{#separator}│ {#keys} Shell";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "terminalfont";
|
||||||
|
key = "{#separator}│ {#keys} Font";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "icons";
|
||||||
|
key = "{#separator}│ {#keys} Icons";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "cursor";
|
||||||
|
key = "{#separator}│ {#keys} Cursor";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "{#1}│";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Hardware Information
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "{#1}│ {#}Hardware Information";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "board";
|
||||||
|
key = "{#separator}│ {#keys} Board";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "cpu";
|
||||||
|
key = "{#separator}│ {#keys} CPU";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "gpu";
|
||||||
|
key = "{#separator}│ {#keys} GPU";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "memory";
|
||||||
|
key = "{#separator}│ {#keys} Memory";
|
||||||
|
}
|
||||||
|
# {
|
||||||
|
# type = "disk";
|
||||||
|
# key = "{#separator}│ {#keys} Disk (/)";
|
||||||
|
# folders = "/";
|
||||||
|
# }
|
||||||
|
# {
|
||||||
|
# type = "disk";
|
||||||
|
# key = "{#separator}│ {#keys} Disk (~/Games)";
|
||||||
|
# folders = "/home/christoph/Games";
|
||||||
|
# }
|
||||||
|
{
|
||||||
|
type = "btrfs";
|
||||||
|
key = "{#separator}│ {#keys} BTRFS";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "{#1}│";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Colors Footer
|
||||||
|
{
|
||||||
|
type = "colors";
|
||||||
|
key = "{#separator}╰─── {#1}";
|
||||||
|
keyWidth = 6;
|
||||||
|
symbol = "circle";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
fd.enable = true;
|
fd.enable = true;
|
||||||
|
|
||||||
fzf = {
|
fzf = {
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
config,
|
config,
|
||||||
headless,
|
headless,
|
||||||
}: {
|
}: {
|
||||||
enable = !headless;
|
enable = !headless;
|
||||||
dunst.enable = !config.modules.hyprpanel.enable; # Disable for hyprpanel
|
dunst.enable = !config.modules.hyprpanel.enable; # Disable for hyprpanel
|
||||||
bars.enable = false;
|
bars.enable = false;
|
||||||
dynamicCursor.enable = true;
|
dynamicCursor.enable = false;
|
||||||
trails.enable = true;
|
trails.enable = true;
|
||||||
hyprspace.enable = true;
|
hyprspace.enable = true;
|
||||||
|
|
||||||
@ -37,6 +38,25 @@
|
|||||||
"$mainMod, XF86MonBrightnessDown" = ["exec, hyprctl hyprsunset temperature 5750"];
|
"$mainMod, XF86MonBrightnessDown" = ["exec, hyprctl hyprsunset temperature 5750"];
|
||||||
"$mainMod, XF86MonBrightnessUp" = ["exec, hyprctl hyprsunset identity"];
|
"$mainMod, XF86MonBrightnessUp" = ["exec, hyprctl hyprsunset identity"];
|
||||||
|
|
||||||
|
"CTRL ALT, f" = let
|
||||||
|
hyprctl = "${config.wayland.windowManager.hyprland.package}/bin/hyprctl";
|
||||||
|
grep = "${pkgs.gnugrep}/bin/grep";
|
||||||
|
awk = "${pkgs.gawk}/bin/gawk";
|
||||||
|
notify = "${pkgs.libnotify}/bin/notify-send";
|
||||||
|
|
||||||
|
toggleMouseFocus = pkgs.writeScriptBin "hypr-toggle-mouse-focus" ''
|
||||||
|
CURRENT=$(${hyprctl} getoption input:follow_mouse | ${grep} int | ${awk} -F' ' '{print $2}')
|
||||||
|
|
||||||
|
if [[ "$CURRENT" == "1" ]]; then
|
||||||
|
${hyprctl} keyword input:follow_mouse 0
|
||||||
|
${notify} "Disabled Mouse Focus!"
|
||||||
|
else
|
||||||
|
${hyprctl} keyword input:follow_mouse 1
|
||||||
|
${notify} "Enabled Mouse Focus!"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
in ["exec, ${toggleMouseFocus}/bin/hypr-toggle-mouse-focus"];
|
||||||
|
|
||||||
# "CTRL ALT, t" = ["exec, bash -c 'systemctl --user restart hyprpanel.service'"];
|
# "CTRL ALT, t" = ["exec, bash -c 'systemctl --user restart hyprpanel.service'"];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -64,7 +84,7 @@
|
|||||||
|
|
||||||
autostart = {
|
autostart = {
|
||||||
immediate = [
|
immediate = [
|
||||||
"kitty"
|
"kitty --hold fastfetch"
|
||||||
"zeal"
|
"zeal"
|
||||||
"nextcloud --background"
|
"nextcloud --background"
|
||||||
"protonvpn-app"
|
"protonvpn-app"
|
||||||
@ -84,12 +104,16 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
windowrules = [];
|
windowrules = [
|
||||||
|
# Fix jetbrains tooltip flicker
|
||||||
|
"float,class:^(jetbrains-.*)$,title:^(win[0-9]+)$"
|
||||||
|
"nofocus,class:^(jetbrains-.*)$,title:^(win[0-9]+)$"
|
||||||
|
];
|
||||||
|
|
||||||
workspacerules = {
|
workspacerules = {
|
||||||
"1" = [];
|
"1" = [];
|
||||||
"2" = ["Zotero" "neovide" "code-url-handler"];
|
"2" = ["Zotero" "neovide" "code-url-handler"];
|
||||||
"3" = ["obsidian" "unityhub" "Unity"];
|
"3" = ["obsidian"];
|
||||||
"4" = ["firefox" "Google-chrome" "chromium-browser" "org.qutebrowser.qutebrowser"];
|
"4" = ["firefox" "Google-chrome" "chromium-browser" "org.qutebrowser.qutebrowser"];
|
||||||
"5" = ["steam"];
|
"5" = ["steam"];
|
||||||
"6" = ["steam_app_(.+)"];
|
"6" = ["steam_app_(.+)"];
|
||||||
@ -106,6 +130,7 @@
|
|||||||
title = "File Operation Progress";
|
title = "File Operation Progress";
|
||||||
}
|
}
|
||||||
{class = "ffplay";}
|
{class = "ffplay";}
|
||||||
|
{class = "Unity";}
|
||||||
];
|
];
|
||||||
|
|
||||||
transparent-opacity = "0.75";
|
transparent-opacity = "0.75";
|
||||||
|
@ -91,8 +91,7 @@
|
|||||||
# Add any extra libraries you want accessible to Rider here
|
# Add any extra libraries you want accessible to Rider here
|
||||||
];
|
];
|
||||||
|
|
||||||
# TODO: Broken, jetbrains.jdk doesn't build (see nixpkgs #425328)
|
rider-unity = pkgs.jetbrains.rider.overrideAttrs (attrs: {
|
||||||
unity-rider = pkgs.jetbrains.rider.overrideAttrs (attrs: {
|
|
||||||
postInstall =
|
postInstall =
|
||||||
''
|
''
|
||||||
# Wrap rider with extra tools and libraries
|
# Wrap rider with extra tools and libraries
|
||||||
@ -115,25 +114,27 @@
|
|||||||
});
|
});
|
||||||
in {
|
in {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# quartus-prime-lite # Intel FPGA design software
|
# Intel FPGA design software
|
||||||
|
# quartus-prime-lite
|
||||||
|
|
||||||
# Don't want heavy IDE's on the laptop
|
|
||||||
# jetbrains.clion
|
# jetbrains.clion
|
||||||
# jetbrains.rust-rover
|
# jetbrains.rust-rover
|
||||||
# jetbrains.pycharm-professional
|
# jetbrains.pycharm-professional
|
||||||
# jetbrains.idea-ultimate
|
# jetbrains.idea-ultimate
|
||||||
# jetbrains.webstorm
|
# jetbrains.webstorm
|
||||||
|
# jetbrains.rider
|
||||||
|
|
||||||
# Unity Stuff
|
# Unity Stuff
|
||||||
# TODO: Unity module
|
# TODO: Unity module
|
||||||
# unityhub # TODO: Wait for https://nixpk.gs/pr-tracker.html?pr=422785
|
unityhub
|
||||||
# unity-rider
|
rider-unity
|
||||||
# dotnetCore
|
dotnetCore
|
||||||
# mono
|
mono
|
||||||
|
steam-run-free # nix-alien doesn't seem to run unity apps, this does...
|
||||||
|
|
||||||
blender
|
(blender.override {cudaSupport = true;})
|
||||||
godot_4
|
godot_4
|
||||||
obs-studio
|
(obs-studio.override {cudaSupport = true;})
|
||||||
kdePackages.kdenlive
|
kdePackages.kdenlive
|
||||||
krita
|
krita
|
||||||
makemkv
|
makemkv
|
||||||
@ -144,19 +145,20 @@
|
|||||||
|
|
||||||
file = lib.mkMerge [
|
file = lib.mkMerge [
|
||||||
{
|
{
|
||||||
# ".local/share/applications/jetbrains-rider.desktop".source = let
|
".local/share/applications/jetbrains-rider.desktop".source = let
|
||||||
# desktopFile = pkgs.makeDesktopItem {
|
desktopFile = pkgs.makeDesktopItem {
|
||||||
# name = "jetbrains-rider";
|
name = "jetbrains-rider";
|
||||||
# desktopName = "Rider";
|
desktopName = "Rider";
|
||||||
# exec = "\"${unity-rider}/bin/rider\"";
|
exec = "\"${rider-unity}/bin/rider\"";
|
||||||
# icon = "rider";
|
icon = "rider";
|
||||||
# type = "Application";
|
type = "Application";
|
||||||
# # Don't show desktop icon in search or run launcher
|
# Don't show desktop icon in search or run launcher
|
||||||
# extraConfig.NoDisplay = "true";
|
extraConfig.NoDisplay = "true";
|
||||||
# };
|
};
|
||||||
# in "${desktopFile}/share/applications/jetbrains-rider.desktop";
|
in "${desktopFile}/share/applications/jetbrains-rider.desktop";
|
||||||
|
|
||||||
".var/app/com.valvesoftware.Steam/config/MangoHud/MangoHud.conf".source = ../../../config/mangohud/MangoHud.conf;
|
".var/app/com.valvesoftware.Steam/config/MangoHud/MangoHud.conf".source =
|
||||||
|
../../../config/mangohud/MangoHud.conf;
|
||||||
}
|
}
|
||||||
(lib.optionalAttrs (mylib.modules.contains config.home.packages pkgs.makemkv) {
|
(lib.optionalAttrs (mylib.modules.contains config.home.packages pkgs.makemkv) {
|
||||||
".MakeMKV/settings.conf".source =
|
".MakeMKV/settings.conf".source =
|
||||||
@ -213,7 +215,7 @@
|
|||||||
"com.usebottles.bottles"
|
"com.usebottles.bottles"
|
||||||
"io.github.lawstorant.boxflat"
|
"io.github.lawstorant.boxflat"
|
||||||
|
|
||||||
"com.unity.UnityHub"
|
# "com.unity.UnityHub"
|
||||||
];
|
];
|
||||||
|
|
||||||
overrides = {
|
overrides = {
|
||||||
|
@ -34,10 +34,10 @@ in {
|
|||||||
theme[hi_fg]=${color.hexS.accent}
|
theme[hi_fg]=${color.hexS.accent}
|
||||||
|
|
||||||
# Background color of selected item in processes box
|
# Background color of selected item in processes box
|
||||||
theme[selected_bg]=${color.hexS.surface1}
|
theme[selected_bg]=${color.hexS.accentDim}
|
||||||
|
|
||||||
# Foreground color of selected item in processes box
|
# Foreground color of selected item in processes box
|
||||||
theme[selected_fg]=${color.hexS.accent}
|
theme[selected_fg]=${color.hexS.accentText}
|
||||||
|
|
||||||
# Color of inactive/disabled text
|
# Color of inactive/disabled text
|
||||||
theme[inactive_fg]=${color.hexS.overlay0}
|
theme[inactive_fg]=${color.hexS.overlay0}
|
||||||
|
@ -248,7 +248,7 @@
|
|||||||
# rotate - rotate the cursor based on movement direction
|
# rotate - rotate the cursor based on movement direction
|
||||||
# stretch - stretch the cursor shape based on direction and velocity
|
# stretch - stretch the cursor shape based on direction and velocity
|
||||||
# none - do not change the cursors behaviour
|
# none - do not change the cursors behaviour
|
||||||
mode = "tilt";
|
mode = "rotate";
|
||||||
|
|
||||||
# minimum angle difference in degrees after which the shape is changed
|
# minimum angle difference in degrees after which the shape is changed
|
||||||
# smaller values are smoother, but more expensive for hw cursors
|
# smaller values are smoother, but more expensive for hw cursors
|
||||||
|
@ -28,12 +28,13 @@ in {
|
|||||||
"bar.autoHide" = "never";
|
"bar.autoHide" = "never";
|
||||||
|
|
||||||
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/config/bar/layouts/index.ts
|
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/config/bar/layouts/index.ts
|
||||||
|
# TODO: To module option
|
||||||
# TODO: This should contain battery etc. for laptop
|
# TODO: This should contain battery etc. for laptop
|
||||||
"bar.layouts" = {
|
"bar.layouts" = {
|
||||||
"HDMI-A-1" = {
|
"HDMI-A-1" = {
|
||||||
"left" = ["workspaces" "windowtitle"];
|
"left" = ["workspaces" "windowtitle"];
|
||||||
"middle" = ["media"]; # "cava"
|
"middle" = ["media"]; # "cava"
|
||||||
"right" = ["volume" "network" "bluetooth" "cpu" "ram" "storage" "clock" "systray" "notifications"];
|
"right" = ["volume" "network" "cpu" "ram" "storage" "clock" "systray" "notifications"]; # "bluetooth"
|
||||||
};
|
};
|
||||||
"DP-1" = {
|
"DP-1" = {
|
||||||
"left" = ["workspaces" "windowtitle"];
|
"left" = ["workspaces" "windowtitle"];
|
||||||
@ -282,7 +283,12 @@ in {
|
|||||||
"theme.bar.buttons.clock.spacing" = "6px";
|
"theme.bar.buttons.clock.spacing" = "6px";
|
||||||
"theme.bar.buttons.clock.text" = "#${color.hex.accentText}";
|
"theme.bar.buttons.clock.text" = "#${color.hex.accentText}";
|
||||||
|
|
||||||
|
# TODO: To module option
|
||||||
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/config/bar/systray/index.ts
|
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/config/bar/systray/index.ts
|
||||||
|
"bar.systray.ignore" = [
|
||||||
|
"Fcitx" # Keyboard indicator
|
||||||
|
]; # Middle click the tray icon to show a notification with the app name :)
|
||||||
|
"bar.systray.customIcons" = {};
|
||||||
|
|
||||||
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/theme/bar/buttons/systray.ts
|
# https://github.com/Jas-SinghFSU/HyprPanel/blob/master/src/configuration/modules/theme/bar/buttons/systray.ts
|
||||||
"theme.bar.buttons.systray.background" = "#${color.hex.blue}";
|
"theme.bar.buttons.systray.background" = "#${color.hex.blue}";
|
||||||
|
@ -62,21 +62,7 @@ in {
|
|||||||
background-color = mkLiteral trans;
|
background-color = mkLiteral trans;
|
||||||
};
|
};
|
||||||
|
|
||||||
"message" = {
|
# TOP INPUT BAR START
|
||||||
background-color = mkLiteral trans;
|
|
||||||
};
|
|
||||||
|
|
||||||
"error-message" = {
|
|
||||||
background-color = mkLiteral trans;
|
|
||||||
margin = mkLiteral "0px 0px 10px 0px";
|
|
||||||
};
|
|
||||||
|
|
||||||
"textbox" = {
|
|
||||||
background-color = mkLiteral trans;
|
|
||||||
padding = 6;
|
|
||||||
margin = mkLiteral "10px 10px 0px 10px";
|
|
||||||
border-radius = 3;
|
|
||||||
};
|
|
||||||
|
|
||||||
"inputbar" = {
|
"inputbar" = {
|
||||||
children = builtins.map mkLiteral ["prompt" "entry"];
|
children = builtins.map mkLiteral ["prompt" "entry"];
|
||||||
@ -101,6 +87,26 @@ in {
|
|||||||
border-color = mkLiteral color.hexS.accentHl;
|
border-color = mkLiteral color.hexS.accentHl;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# MESSAGEBOX (usually not visible)
|
||||||
|
|
||||||
|
"message" = {
|
||||||
|
background-color = mkLiteral trans;
|
||||||
|
};
|
||||||
|
|
||||||
|
"error-message" = {
|
||||||
|
background-color = mkLiteral trans;
|
||||||
|
margin = mkLiteral "0px 0px 10px 0px";
|
||||||
|
};
|
||||||
|
|
||||||
|
"textbox" = {
|
||||||
|
background-color = mkLiteral trans;
|
||||||
|
padding = 6;
|
||||||
|
margin = mkLiteral "10px 10px 0px 10px";
|
||||||
|
border-radius = 3;
|
||||||
|
};
|
||||||
|
|
||||||
|
# LISTVIEW
|
||||||
|
|
||||||
"listview" = {
|
"listview" = {
|
||||||
# border = mkLiteral "0px 0px 0px";
|
# border = mkLiteral "0px 0px 0px";
|
||||||
padding = 0;
|
padding = 0;
|
||||||
@ -109,7 +115,7 @@ in {
|
|||||||
background-color = mkLiteral trans;
|
background-color = mkLiteral trans;
|
||||||
border = mkLiteral "2 solid 2 solid 2 solid 2 solid";
|
border = mkLiteral "2 solid 2 solid 2 solid 2 solid";
|
||||||
border-radius = 3;
|
border-radius = 3;
|
||||||
border-color = mkLiteral color.hexS.accentHl;
|
border-color = mkLiteral color.hexS.accentDim;
|
||||||
};
|
};
|
||||||
|
|
||||||
"element" = {
|
"element" = {
|
||||||
@ -125,7 +131,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
"element selected" = {
|
"element selected" = {
|
||||||
background-color = mkLiteral color.hexS.accentHl;
|
background-color = mkLiteral color.hexS.accentDim;
|
||||||
text-color = mkLiteral color.hexS.accentText;
|
text-color = mkLiteral color.hexS.accentText;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
pkgs-stable,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
# Taken from https://github.com/Misterio77/nix-config/blob/main/overlay/default.nix
|
# Taken from https://github.com/Misterio77/nix-config/blob/main/overlay/default.nix
|
||||||
@ -11,14 +12,39 @@
|
|||||||
pkgs = final;
|
pkgs = final;
|
||||||
};
|
};
|
||||||
|
|
||||||
modifications = final: prev: rec {
|
modifications = final: prev: {
|
||||||
# Only kept as an example, has nothing to do with current dconf-editor-wrapped derivation
|
# Only kept as an example, has nothing to do with current dconf-editor-wrapped derivation
|
||||||
# dconf-editor-wrapped = import ./dconf-editor.nix { inherit final prev; };
|
# dconf-editor-wrapped = import ./dconf-editor.nix { inherit final prev; };
|
||||||
# Use dconf-editor.nix: { final, prev }: final.<package>.overrideAttrs (oldAttrs: { ... }) or sth similar
|
# Use dconf-editor.nix: { final, prev }: final.<package>.overrideAttrs (oldAttrs: { ... }) or sth similar
|
||||||
|
|
||||||
|
# Overriding specific packages from a different nixpkgs (e.g. a pull request)
|
||||||
|
# can be done like this. Note that this creates an additional nixpkgs instance.
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/418451
|
||||||
|
# unityhub_3_13 =
|
||||||
|
# (import inputs.unityhub-pinned {
|
||||||
|
# config.allowUnfree = true;
|
||||||
|
# localSystem = {inherit (prev) system;};
|
||||||
|
# }).unityhub;
|
||||||
|
|
||||||
|
# TODO: Remove this after 0.15.1 hits nixpkgs
|
||||||
|
neovide = prev.neovide.overrideAttrs (finalAttrs: prevAttrs: {
|
||||||
|
version = "0.15.1";
|
||||||
|
src = prev.fetchFromGitHub {
|
||||||
|
owner = "neovide";
|
||||||
|
repo = "neovide";
|
||||||
|
tag = finalAttrs.version;
|
||||||
|
hash = "sha256-2iV3g6tcCkMF7sFG/GZDz3czPZNIDi6YLfrVzYO9jYI=";
|
||||||
|
};
|
||||||
|
cargoHash = "sha256-YlHAcUCRk6ROg5yXIumHfsiR/2TrsSzbuXz/IQK7sEo=";
|
||||||
|
cargoDeps = prev.rustPlatform.fetchCargoVendor {
|
||||||
|
inherit (finalAttrs) pname src version;
|
||||||
|
hash = finalAttrs.cargoHash;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
# TODO: Remove this after jetbrains.jdk builds again (nixpkgs issue 425328)
|
||||||
|
jetbrains.rider = pkgs-stable.jetbrains.rider;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
# TODO: I have absolutely no clue what happens here lol
|
# Composes a list of overlays and returns a single overlay function that combines them.
|
||||||
# Basically we need some sort of list of all overlays that can be imported from the flake
|
|
||||||
# in the overlays = [ ... ] section of the pkgs = import nixpkgs { ... } configuration
|
|
||||||
# Somehow this library function turns additions/modifications into that
|
|
||||||
nixpkgs.lib.composeManyExtensions [additions modifications]
|
nixpkgs.lib.composeManyExtensions [additions modifications]
|
||||||
|
@ -43,6 +43,12 @@ in {
|
|||||||
mkRFile = mkFile "root";
|
mkRFile = mkFile "root";
|
||||||
mkUDir = mkDir "${username}";
|
mkUDir = mkDir "${username}";
|
||||||
mkUFile = mkFile "${username}";
|
mkUFile = mkFile "${username}";
|
||||||
|
# TODO: sth. like this, make options for configdirs/sharedirs/statedirs/homedirs
|
||||||
|
# populate options from respective modules, not here...
|
||||||
|
# mkConfigDirs = dirs:
|
||||||
|
# dirs
|
||||||
|
# |> builtins.map (dir: ".config/${dir}")
|
||||||
|
# |> builtins.map mkUDir # NOTE: mkUDir has wrong arg order
|
||||||
in
|
in
|
||||||
lib.mkIf impermanence.enable {
|
lib.mkIf impermanence.enable {
|
||||||
# TODO: Create options to allow host-specific impermanence setup
|
# TODO: Create options to allow host-specific impermanence setup
|
||||||
@ -80,13 +86,13 @@ in {
|
|||||||
files = [
|
files = [
|
||||||
# NOTE: Don't put files generated/linked by HM here (they're already managed)
|
# NOTE: Don't put files generated/linked by HM here (they're already managed)
|
||||||
|
|
||||||
# TODO: These files are not mounted?
|
# TODO: Specifying files here (e.g. .config/QtProject.conf) doesn't seem to work
|
||||||
(mkUFile ".config/.tidal-dl.json" m755)
|
# They won't get mounted, also they can't be unmounted (because they're not mounted),
|
||||||
(mkUFile ".config/.tidal-dl.token.json" m755)
|
# which leads to /home not being unmounted correctly during shutdown...
|
||||||
(mkUFile ".config/QtProject.conf" m755) # KeePassXC
|
|
||||||
];
|
];
|
||||||
|
|
||||||
directories = [
|
directories = [
|
||||||
|
# Home directory
|
||||||
(mkUDir "Downloads" m755)
|
(mkUDir "Downloads" m755)
|
||||||
(mkUDir "Documents" m755)
|
(mkUDir "Documents" m755)
|
||||||
(mkUDir "GitRepos" m755)
|
(mkUDir "GitRepos" m755)
|
||||||
@ -98,26 +104,35 @@ in {
|
|||||||
(mkUDir "Unity" m755)
|
(mkUDir "Unity" m755)
|
||||||
(mkUDir "Videos" m755)
|
(mkUDir "Videos" m755)
|
||||||
|
|
||||||
|
# Secrets
|
||||||
(mkUDir ".gnupg" m755) # m600
|
(mkUDir ".gnupg" m755) # m600
|
||||||
(mkUDir ".secrets" m755) # m644
|
(mkUDir ".secrets" m755) # m644
|
||||||
(mkUDir ".ssh" m755) # m644
|
(mkUDir ".ssh" m755) # m644
|
||||||
|
|
||||||
|
# The shit some applications add to ~/ without asking
|
||||||
(mkUDir ".android" m755) # Unity
|
(mkUDir ".android" m755) # Unity
|
||||||
|
(mkUDir ".gradle" m755) # Unity
|
||||||
(mkUDir ".java" m755) # Unity/Rider
|
(mkUDir ".java" m755) # Unity/Rider
|
||||||
(mkUDir ".mozilla/firefox" m755) # TODO: Remove this someday
|
(mkUDir ".mozilla/firefox" m755) # TODO: Remove this someday
|
||||||
(mkUDir ".mozilla/native-messaging-hosts" m755)
|
(mkUDir ".mozilla/native-messaging-hosts" m755)
|
||||||
(mkUDir ".nix-package-search" m755)
|
(mkUDir ".nix-package-search" m755)
|
||||||
|
(mkUDir ".nv" m755) # Unity
|
||||||
(mkUDir ".ollama" m755)
|
(mkUDir ".ollama" m755)
|
||||||
|
(mkUDir ".plastic4" m755) # Unity
|
||||||
(mkUDir ".var/app" m755)
|
(mkUDir ".var/app" m755)
|
||||||
(mkUDir ".vim/undo" m755)
|
(mkUDir ".vim/undo" m755)
|
||||||
(mkUDir ".zotero" m755)
|
(mkUDir ".zotero" m755)
|
||||||
|
|
||||||
|
# Cache that's actually useful
|
||||||
(mkUDir ".cache/fish/generated_completions" m755)
|
(mkUDir ".cache/fish/generated_completions" m755)
|
||||||
(mkUDir ".cache/nix-index" m755)
|
(mkUDir ".cache/nix-index" m755)
|
||||||
(mkUDir ".cache/nix-search-tv" m755)
|
(mkUDir ".cache/nix-search-tv" m755)
|
||||||
(mkUDir ".cache/nvim" m755)
|
(mkUDir ".cache/nvim" m755)
|
||||||
|
|
||||||
|
# Config
|
||||||
|
(mkUDir ".config/.android" m755) # Unity
|
||||||
(mkUDir ".config/beets" m755)
|
(mkUDir ".config/beets" m755)
|
||||||
|
(mkUDir ".config/blender" m755)
|
||||||
(mkUDir ".config/chromium" m755) # TODO: Remove this someday
|
(mkUDir ".config/chromium" m755) # TODO: Remove this someday
|
||||||
(mkUDir ".config/Ferdium" m755)
|
(mkUDir ".config/Ferdium" m755)
|
||||||
(mkUDir ".config/fish/completions" m755)
|
(mkUDir ".config/fish/completions" m755)
|
||||||
@ -128,18 +143,22 @@ in {
|
|||||||
(mkUDir ".config/Msty" m755)
|
(mkUDir ".config/Msty" m755)
|
||||||
(mkUDir ".config/Nextcloud" m755)
|
(mkUDir ".config/Nextcloud" m755)
|
||||||
(mkUDir ".config/obsidian" m755)
|
(mkUDir ".config/obsidian" m755)
|
||||||
|
(mkUDir ".config/obs-studio" m755)
|
||||||
(mkUDir ".config/Signal" m755)
|
(mkUDir ".config/Signal" m755)
|
||||||
|
(mkUDir ".config/singularitygroup-hotreload" m755) # Unity
|
||||||
(mkUDir ".config/tidal-hifi" m755)
|
(mkUDir ".config/tidal-hifi" m755)
|
||||||
(mkUDir ".config/tidal_dl_ng" m755)
|
(mkUDir ".config/tidal_dl_ng" m755)
|
||||||
(mkUDir ".config/unity3d" m755) # Unity
|
(mkUDir ".config/unity3d" m755) # Unity
|
||||||
|
(mkUDir ".config/unityhub" m755) # Unity
|
||||||
(mkUDir ".config/vlc" m755)
|
(mkUDir ".config/vlc" m755)
|
||||||
(mkUDir ".config/Zeal" m755)
|
(mkUDir ".config/Zeal" m755)
|
||||||
|
|
||||||
|
# Share
|
||||||
(mkUDir ".local/share/direnv" m755)
|
(mkUDir ".local/share/direnv" m755)
|
||||||
(mkUDir ".local/share/docker" m755)
|
(mkUDir ".local/share/docker" m755)
|
||||||
(mkUDir ".local/share/fish" m755)
|
(mkUDir ".local/share/fish" m755)
|
||||||
(mkUDir ".local/share/flatpak" m755)
|
(mkUDir ".local/share/flatpak" m755)
|
||||||
(mkUDir ".local/share/JetBrains" m755) # Unity/Rider
|
(mkUDir ".local/share/JetBrains" m755) # Unity
|
||||||
(mkUDir ".local/share/hyprland" m755)
|
(mkUDir ".local/share/hyprland" m755)
|
||||||
(mkUDir ".local/share/keyrings" m755) # m700
|
(mkUDir ".local/share/keyrings" m755) # m700
|
||||||
(mkUDir ".local/share/mime" m755)
|
(mkUDir ".local/share/mime" m755)
|
||||||
@ -147,9 +166,12 @@ in {
|
|||||||
(mkUDir ".local/share/nvim" m755)
|
(mkUDir ".local/share/nvim" m755)
|
||||||
(mkUDir ".local/share/qutebrowser" m755)
|
(mkUDir ".local/share/qutebrowser" m755)
|
||||||
(mkUDir ".local/share/systemd" m755)
|
(mkUDir ".local/share/systemd" m755)
|
||||||
|
(mkUDir ".local/share/unity3d" m755) # Unity
|
||||||
(mkUDir ".local/share/zoxide" m755)
|
(mkUDir ".local/share/zoxide" m755)
|
||||||
|
|
||||||
|
# State
|
||||||
(mkUDir ".local/state/astal/notifd" m755)
|
(mkUDir ".local/state/astal/notifd" m755)
|
||||||
|
(mkUDir ".local/state/home-manager/gc-roots" m755) # nix-flatpak stores its state there
|
||||||
(mkUDir ".local/state/lazygit" m755)
|
(mkUDir ".local/state/lazygit" m755)
|
||||||
(mkUDir ".local/state/nix" m755)
|
(mkUDir ".local/state/nix" m755)
|
||||||
(mkUDir ".local/state/nvim" m755)
|
(mkUDir ".local/state/nvim" m755)
|
||||||
|
@ -26,9 +26,7 @@ in {
|
|||||||
defaultSopsFile = ./secrets.yaml;
|
defaultSopsFile = ./secrets.yaml;
|
||||||
|
|
||||||
age = {
|
age = {
|
||||||
# NOTE: Sops needs the keys before impermanence kicks in
|
keyFile = lib.mkDefault "/home/${username}/.secrets/age/age.key";
|
||||||
# so we have to link to /persist directly...
|
|
||||||
keyFile = "/persist/home/${username}/.secrets/age/age.key";
|
|
||||||
generateKey = false;
|
generateKey = false;
|
||||||
sshKeyPaths = [];
|
sshKeyPaths = [];
|
||||||
};
|
};
|
||||||
|
@ -61,8 +61,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
allowedTCPPorts = [
|
allowedTCPPorts = [
|
||||||
# 7777 # AvaTalk
|
7777 # AvaTalk
|
||||||
# 12777 # AvaTalk
|
12777 # AvaTalk
|
||||||
# 31431 # Parsec
|
# 31431 # Parsec
|
||||||
5173 # SvelteKit
|
5173 # SvelteKit
|
||||||
8090 # PocketBase
|
8090 # PocketBase
|
||||||
@ -70,8 +70,8 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
allowedUDPPorts = [
|
allowedUDPPorts = [
|
||||||
# 7777 # AvaTalk
|
7777 # AvaTalk
|
||||||
# 12777 # AvaTalk
|
12777 # AvaTalk
|
||||||
# 31431 # Parsec
|
# 31431 # Parsec
|
||||||
5173 # SvelteKit
|
5173 # SvelteKit
|
||||||
8090 # PocketBase
|
8090 # PocketBase
|
||||||
@ -85,6 +85,10 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# NOTE: Sops needs the keys before impermanence kicks in
|
||||||
|
# so we have to link to /persist directly...
|
||||||
|
sops.age.keyFile = "/persist/home/${username}/.secrets/age/age.key";
|
||||||
|
|
||||||
sops.templates."makemkv-settings.conf" = {
|
sops.templates."makemkv-settings.conf" = {
|
||||||
owner = config.users.users.${username}.name;
|
owner = config.users.users.${username}.name;
|
||||||
content = ''
|
content = ''
|
||||||
|
@ -43,9 +43,11 @@
|
|||||||
|
|
||||||
blacklistedKernelModules = ["k10temp"]; # Disable in favor of zenpower
|
blacklistedKernelModules = ["k10temp"]; # Disable in favor of zenpower
|
||||||
|
|
||||||
# Enable AMD pstate
|
kernelParams = [
|
||||||
# https://github.com/NixOS/nixos-hardware/blob/master/common/cpu/amd/pstate.nix
|
# Enable AMD pstate
|
||||||
kernelParams = ["amd_pstate=active"];
|
# https://github.com/NixOS/nixos-hardware/blob/master/common/cpu/amd/pstate.nix
|
||||||
|
"amd_pstate=active"
|
||||||
|
];
|
||||||
|
|
||||||
# extraModprobeConfig = ''
|
# extraModprobeConfig = ''
|
||||||
# options iwlwifi 11n_disable=1 wd_disable=0
|
# options iwlwifi 11n_disable=1 wd_disable=0
|
||||||
@ -117,9 +119,9 @@
|
|||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
# package = config.boot.kernelPackages.nvidiaPackages.beta;
|
# package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
|
|
||||||
modesetting.enable = true; # Not officially supported by NVidia but needed for wayland
|
|
||||||
open = true;
|
open = true;
|
||||||
nvidiaSettings = false; # Those are for x-server
|
nvidiaSettings = false; # Those are for x-server
|
||||||
|
modesetting.enable = true; # Required for wayland
|
||||||
};
|
};
|
||||||
|
|
||||||
# video.hidpi.enable = lib.mkDefault true; # No longer has any effect
|
# video.hidpi.enable = lib.mkDefault true; # No longer has any effect
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
}: let
|
}: let
|
||||||
vectorchordVersion = "0.4.2";
|
vectorchordVersion = "0.4.2";
|
||||||
pgvectorsVersion = "0.2.0";
|
pgvectorsVersion = "0.2.0";
|
||||||
immichVersion = "1.135.3";
|
immichVersion = "1.136.0";
|
||||||
in {
|
in {
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
immich-database = {
|
immich-database = {
|
||||||
@ -103,7 +103,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
extraOptions = [
|
extraOptions = [
|
||||||
# "--privileged"
|
"--privileged"
|
||||||
"--device=nvidia.com/gpu=all"
|
"--device=nvidia.com/gpu=all"
|
||||||
"--net=behind-nginx"
|
"--net=behind-nginx"
|
||||||
];
|
];
|
||||||
|
@ -43,7 +43,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
extraOptions = [
|
extraOptions = [
|
||||||
# "--privileged"
|
"--privileged"
|
||||||
"--device=nvidia.com/gpu=all"
|
"--device=nvidia.com/gpu=all"
|
||||||
"--net=behind-nginx"
|
"--net=behind-nginx"
|
||||||
];
|
];
|
||||||
|