Compare commits
10 Commits
1862996855
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| fd62c17426 | |||
| 90c612bb57 | |||
| f08555296c | |||
| 44404e02a0 | |||
| 65e5fd2d99 | |||
| ddb1d3c8d2 | |||
| e7b1f5acaf | |||
| 8f97b6ff34 | |||
| 2a0fbdcd16 | |||
| 7c74a61821 |
@@ -4,9 +4,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
];
|
];
|
||||||
@@ -50,6 +48,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Set <nixpkgs> correctly
|
||||||
|
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||||
|
|
||||||
## Optimise Nix store on rebuild and collect garbage as a service
|
## Optimise Nix store on rebuild and collect garbage as a service
|
||||||
nix.optimise.automatic = true;
|
nix.optimise.automatic = true;
|
||||||
nix.gc = {
|
nix.gc = {
|
||||||
@@ -154,108 +155,106 @@
|
|||||||
"docker"
|
"docker"
|
||||||
"wheel"
|
"wheel"
|
||||||
];
|
];
|
||||||
packages =
|
packages = with pkgs; let
|
||||||
with pkgs;
|
input = {
|
||||||
let
|
package,
|
||||||
input =
|
output ? "default",
|
||||||
{
|
}:
|
||||||
package,
|
inputs.${package}.packages.${pkgs.stdenv.hostPlatform.system}.${output};
|
||||||
output ? "default",
|
wrap = {
|
||||||
}:
|
name,
|
||||||
inputs.${package}.packages.${pkgs.stdenv.hostPlatform.system}.${output};
|
pkg,
|
||||||
wrap =
|
modules,
|
||||||
{
|
}:
|
||||||
name,
|
pkgs.symlinkJoin {
|
||||||
pkg,
|
inherit name;
|
||||||
modules,
|
paths = [pkg];
|
||||||
}:
|
nativeBuildInputs = [pkgs.makeWrapper];
|
||||||
pkgs.symlinkJoin {
|
postBuild = ''
|
||||||
inherit name;
|
wrapProgram $out/bin/${name} \
|
||||||
paths = [ pkg ];
|
--prefix PATH : ${pkgs.lib.makeBinPath modules}
|
||||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
'';
|
||||||
postBuild = ''
|
};
|
||||||
wrapProgram $out/bin/${name} \
|
in [
|
||||||
--prefix PATH : ${pkgs.lib.makeBinPath modules}
|
# Ricing
|
||||||
'';
|
## Desktop
|
||||||
};
|
bibata-cursors
|
||||||
in
|
catppuccin-gtk
|
||||||
[
|
unstable.waybar
|
||||||
# Ricing
|
hyprlock
|
||||||
## Desktop
|
dunst
|
||||||
bibata-cursors
|
wlogout
|
||||||
catppuccin-gtk
|
wpaperd
|
||||||
unstable.waybar
|
quickshell
|
||||||
hyprlock
|
|
||||||
dunst
|
|
||||||
wlogout
|
|
||||||
wpaperd
|
|
||||||
quickshell
|
|
||||||
|
|
||||||
## Desktop Utilities
|
## Desktop Utilities
|
||||||
grimblast
|
grimblast
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
(wrap {
|
(wrap {
|
||||||
name = "otter-launcher";
|
name = "otter-launcher";
|
||||||
pkg = (
|
pkg = (
|
||||||
input {
|
input {
|
||||||
package = "otter-launcher";
|
package = "otter-launcher";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
modules = [
|
modules = [
|
||||||
chafa
|
chafa
|
||||||
jq
|
jq
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
(input { package = "fsel"; })
|
(input {package = "fsel";})
|
||||||
|
|
||||||
# Terminal
|
# Terminal
|
||||||
## Styling / Functionality
|
## Styling / Functionality
|
||||||
oh-my-posh
|
oh-my-posh
|
||||||
carapace
|
carapace
|
||||||
zsh-autocomplete
|
zsh-autocomplete
|
||||||
bat
|
bat
|
||||||
|
|
||||||
## Tools
|
## Tools
|
||||||
lazygit
|
lazygit
|
||||||
p7zip-rar
|
git-secret
|
||||||
any-nix-shell
|
p7zip-rar
|
||||||
bluetui
|
any-nix-shell
|
||||||
fzf
|
bluetui
|
||||||
ripgrep
|
fzf
|
||||||
wget
|
ripgrep
|
||||||
htop
|
wget
|
||||||
playerctl
|
htop
|
||||||
git
|
playerctl
|
||||||
lsd
|
git
|
||||||
(input {
|
lsd
|
||||||
package = "doot";
|
(input {
|
||||||
})
|
package = "doot";
|
||||||
|
})
|
||||||
|
|
||||||
## Other CLI Apps
|
## Other CLI Apps
|
||||||
nodejs
|
nodejs
|
||||||
fastfetch
|
fastfetch
|
||||||
opencode
|
opencode
|
||||||
tailscale
|
tailscale
|
||||||
syncthing
|
syncthing
|
||||||
jellyfin-tui
|
jellyfin-tui
|
||||||
|
devenv
|
||||||
|
nix-output-monitor
|
||||||
|
|
||||||
# Apps
|
# Apps
|
||||||
## Actual Useful Stuff
|
## Actual Useful Stuff
|
||||||
nemo
|
nemo
|
||||||
kitty
|
kitty
|
||||||
firefox
|
firefox
|
||||||
gotify-desktop
|
gotify-desktop
|
||||||
pavucontrol
|
pavucontrol
|
||||||
mpv
|
mpv
|
||||||
input-remapper
|
input-remapper
|
||||||
|
|
||||||
## Other Nonsense
|
## Other Nonsense
|
||||||
tor-browser
|
tor-browser
|
||||||
techmino
|
techmino
|
||||||
prismlauncher
|
prismlauncher
|
||||||
delfin
|
delfin
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
## Zsh
|
## Zsh
|
||||||
@@ -281,7 +280,7 @@
|
|||||||
programs = {
|
programs = {
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
xfconf.enable = true;
|
xfconf.enable = true;
|
||||||
gdk-pixbuf.modulePackages = [ pkgs.librsvg ]; # For wlogout svgs
|
gdk-pixbuf.modulePackages = [pkgs.librsvg]; # For wlogout svgs
|
||||||
};
|
};
|
||||||
|
|
||||||
## User Services
|
## User Services
|
||||||
@@ -299,11 +298,10 @@
|
|||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
nerd-fonts.fira-mono
|
nerd-fonts.fira-mono
|
||||||
];
|
];
|
||||||
fonts.fontconfig.defaultFonts.serif = [ "Fira Mono Nerd Font" ];
|
fonts.fontconfig.defaultFonts.serif = ["Fira Mono Nerd Font"];
|
||||||
|
|
||||||
# System Packages
|
# System Packages
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
||||||
# Utilities
|
# Utilities
|
||||||
inputs.nvim-wrapped.packages.${stdenv.hostPlatform.system}.default
|
inputs.nvim-wrapped.packages.${stdenv.hostPlatform.system}.default
|
||||||
vim
|
vim
|
||||||
@@ -314,6 +312,7 @@
|
|||||||
|
|
||||||
# System
|
# System
|
||||||
mesa
|
mesa
|
||||||
|
pkg-config
|
||||||
vulkan-tools
|
vulkan-tools
|
||||||
gvfs
|
gvfs
|
||||||
wayvnc
|
wayvnc
|
||||||
@@ -328,8 +327,11 @@
|
|||||||
libnotify
|
libnotify
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
];
|
];
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
pinentryPackage = pkgs.pinentry-all;
|
||||||
|
};
|
||||||
|
|
||||||
# The comment
|
# The comment
|
||||||
system.stateVersion = "25.05"; # Did you read the comment?
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
|
|
||||||
{
|
|
||||||
networking.hostName = "mobile02"; # Define your hostname.
|
networking.hostName = "mobile02"; # Define your hostname.
|
||||||
|
|
||||||
# Opengl and vulkan
|
# Opengl and vulkan
|
||||||
@@ -36,7 +34,7 @@
|
|||||||
|
|
||||||
# Local User
|
# Local User
|
||||||
users.users.user01 = {
|
users.users.user01 = {
|
||||||
extraGroups = [ ];
|
extraGroups = [];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# Ricing
|
# Ricing
|
||||||
inputs.way-edges.packages.${stdenv.hostPlatform.system}.way-edges
|
inputs.way-edges.packages.${stdenv.hostPlatform.system}.way-edges
|
||||||
@@ -48,5 +46,4 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs.steam.enable = true;
|
programs.steam.enable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
|
|
||||||
{
|
|
||||||
networking.hostName = "HACKSTATION";
|
networking.hostName = "HACKSTATION";
|
||||||
|
|
||||||
# Enable nix-ld to run unpatched binaries
|
# Enable nix-ld to run unpatched binaries
|
||||||
@@ -30,10 +28,16 @@
|
|||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
libva-vdpau-driver
|
libva-vdpau-driver
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
|
rocmPackages.clr.icd
|
||||||
];
|
];
|
||||||
enable32Bit = true;
|
enable32Bit = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# For rOCM
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"L+ /opt/rocm - - - - ${pkgs.rocmPackages.clr}"
|
||||||
|
];
|
||||||
|
|
||||||
hardware.amdgpu.opencl.enable = true;
|
hardware.amdgpu.opencl.enable = true;
|
||||||
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
@@ -113,18 +117,29 @@
|
|||||||
users.users.user01 = {
|
users.users.user01 = {
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"docker"
|
"docker"
|
||||||
|
"input"
|
||||||
|
"udev"
|
||||||
|
"wheel"
|
||||||
];
|
];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
bottles
|
bottles
|
||||||
mumble
|
mumble
|
||||||
gajim
|
gajim
|
||||||
ferdium
|
ferdium
|
||||||
wine64
|
|
||||||
delfin
|
delfin
|
||||||
docker
|
docker
|
||||||
orca-slicer
|
orca-slicer
|
||||||
ffmpeg
|
ffmpeg
|
||||||
inputs.norgolith.packages.${pkgs.stdenv.hostPlatform.system}.default
|
inputs.norgolith.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
|
inputs.cracked-davinci.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
|
inputs.woomer.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
|
|
||||||
|
# wine
|
||||||
|
wineWow64Packages.stable
|
||||||
|
winetricks
|
||||||
|
wine
|
||||||
|
wine64
|
||||||
|
freetype
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -132,6 +147,10 @@
|
|||||||
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.wrapped
|
inputs.sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.wrapped
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
programs.wshowkeys = {
|
programs.wshowkeys = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = inputs.wshowkeys.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
package = inputs.wshowkeys.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||||
@@ -139,6 +158,7 @@
|
|||||||
|
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
protontricks.enable = true;
|
||||||
extraCompatPackages = with pkgs; [
|
extraCompatPackages = with pkgs; [
|
||||||
proton-ge-bin
|
proton-ge-bin
|
||||||
];
|
];
|
||||||
|
|||||||
209
flake.lock
generated
209
flake.lock
generated
@@ -65,6 +65,40 @@
|
|||||||
},
|
},
|
||||||
"parent": []
|
"parent": []
|
||||||
},
|
},
|
||||||
|
"cracked-davinci": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nixpkgs-pinned": "nixpkgs-pinned"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1782405315,
|
||||||
|
"narHash": "sha256-pZKG7KOr1NPtWwzfEnRZvAi7Uvndd4LiC0OVHjf5IPE=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "c9859df9bd3781c63d838a1a90d22129885a910b",
|
||||||
|
"revCount": 5,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.voidarc.co.uk/voidarc/nixos.davinci"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.voidarc.co.uk/voidarc/nixos.davinci"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"crane": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1781825982,
|
||||||
|
"narHash": "sha256-SlXKwIRIhrOSAcTjCB3ftPLzJWZStQIPS7J1FlZPnKk=",
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"rev": "469fd08d0bcf6926321fa973c6777fbc87785dd7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ipetkov",
|
||||||
|
"repo": "crane",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"doot": {
|
"doot": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"doot-src": "doot-src",
|
"doot-src": "doot-src",
|
||||||
@@ -214,6 +248,24 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils_4": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_7"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fsel": {
|
"fsel": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
@@ -348,7 +400,7 @@
|
|||||||
"hyprutils": "hyprutils",
|
"hyprutils": "hyprutils",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"hyprwire": "hyprwire",
|
"hyprwire": "hyprwire",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems_3",
|
"systems": "systems_3",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
@@ -598,26 +650,10 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mesa-davinci": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1754501210,
|
|
||||||
"narHash": "sha256-ahTHrGs72TLVcNUR2VHckEx+t6frke0e/Ptk6AaEINk=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "599ddd2b79331c1e6153e1659bdaab65d62c4c82",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "599ddd2b79331c1e6153e1659bdaab65d62c4c82",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"naersk": {
|
"naersk": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1776200608,
|
"lastModified": 1776200608,
|
||||||
@@ -664,6 +700,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-pinned": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772567409,
|
||||||
|
"narHash": "sha256-qspxGige37s/66q9sptyG5VA/l2IOmMMZVJ4Xhta2wU=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e4ec59bc1152b09a4843702e4a49381194f065a2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e4ec59bc1152b09a4843702e4a49381194f065a2",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781074563,
|
"lastModified": 1781074563,
|
||||||
@@ -681,6 +733,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1782233679,
|
||||||
|
"narHash": "sha256-QyuGP5+QOtmXpy4i2X4DhBVBaySBdDKQEhqKcphcp34=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "667d5cf1c59585031d743c78b394b0a647537c35",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-26.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752077645,
|
"lastModified": 1752077645,
|
||||||
"narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=",
|
"narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=",
|
||||||
@@ -696,7 +764,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1780749050,
|
"lastModified": 1780749050,
|
||||||
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
|
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
|
||||||
@@ -712,7 +780,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781216227,
|
"lastModified": 1781216227,
|
||||||
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
|
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
|
||||||
@@ -728,13 +796,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781074563,
|
"lastModified": 1782467914,
|
||||||
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
"narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
|
"rev": "e73de5be04e0eff4190a1432b946d469c794e7b4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -744,7 +812,23 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_7": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1780336545,
|
||||||
|
"narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_8": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769170682,
|
"lastModified": 1769170682,
|
||||||
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
|
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
|
||||||
@@ -783,14 +867,15 @@
|
|||||||
},
|
},
|
||||||
"nvim-wrapped": {
|
"nvim-wrapped": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_6",
|
||||||
|
"wrappers": "wrappers"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781453653,
|
"lastModified": 1783103301,
|
||||||
"narHash": "sha256-5XhbIAdcoVblquSRVbg5HUnRni96ksMqzGNTEGSb3Cg=",
|
"narHash": "sha256-EJ662Hh+r1AKh1MGFrN2QbrIMYTwu4Jb106BNyeMIZI=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "e46d931775275918876fcde65d03e4dcffa45efa",
|
"rev": "7de01201e837d93ad3128719ad49162d4b900d5d",
|
||||||
"revCount": 83,
|
"revCount": 92,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "file:///home/user01/.dotfiles/.config/nvim"
|
"url": "file:///home/user01/.dotfiles/.config/nvim"
|
||||||
},
|
},
|
||||||
@@ -869,11 +954,11 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"chataigne": "chataigne",
|
"chataigne": "chataigne",
|
||||||
|
"cracked-davinci": "cracked-davinci",
|
||||||
"doot": "doot",
|
"doot": "doot",
|
||||||
"fsel": "fsel",
|
"fsel": "fsel",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"mesa-davinci": "mesa-davinci",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixpkgs": "nixpkgs_4",
|
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"norgolith": "norgolith",
|
"norgolith": "norgolith",
|
||||||
"nvim-wrapped": "nvim-wrapped",
|
"nvim-wrapped": "nvim-wrapped",
|
||||||
@@ -881,6 +966,7 @@
|
|||||||
"otter-launcher": "otter-launcher",
|
"otter-launcher": "otter-launcher",
|
||||||
"sls-steam": "sls-steam",
|
"sls-steam": "sls-steam",
|
||||||
"way-edges": "way-edges",
|
"way-edges": "way-edges",
|
||||||
|
"woomer": "woomer",
|
||||||
"wshowkeys": "wshowkeys"
|
"wshowkeys": "wshowkeys"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -924,7 +1010,7 @@
|
|||||||
},
|
},
|
||||||
"sls-steam": {
|
"sls-steam": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_8"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781157498,
|
"lastModified": 1781157498,
|
||||||
@@ -1030,6 +1116,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_7": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
@@ -1069,9 +1170,49 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"woomer": {
|
||||||
|
"inputs": {
|
||||||
|
"crane": "crane",
|
||||||
|
"flake-utils": "flake-utils_3",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1782507996,
|
||||||
|
"narHash": "sha256-hO+SIA6Q41hiwZBFGHBjkOsRQFUcO0SbJqmYeyy2sfM=",
|
||||||
|
"owner": "voidarclabs",
|
||||||
|
"repo": "woomer",
|
||||||
|
"rev": "572844bdae8dded0bbad9e23ca354dcd857f6b98",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "voidarclabs",
|
||||||
|
"repo": "woomer",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wrappers": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_7"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1782135443,
|
||||||
|
"narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=",
|
||||||
|
"owner": "BirdeeHub",
|
||||||
|
"repo": "nix-wrapper-modules",
|
||||||
|
"rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "BirdeeHub",
|
||||||
|
"repo": "nix-wrapper-modules",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"wshowkeys": {
|
"wshowkeys": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_4",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
|
|||||||
67
flake.nix
67
flake.nix
@@ -5,13 +5,15 @@
|
|||||||
# System
|
# System
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
||||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nvim-wrapped = {
|
nvim-wrapped.url = "git+file:///home/user01/.dotfiles/.config/nvim";
|
||||||
url = "git+file:///home/user01/.dotfiles/.config/nvim";
|
|
||||||
};
|
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
|
|
||||||
# Apps
|
# Apps
|
||||||
sls-steam.url = "github:AceSLS/SLSsteam";
|
sls-steam.url = "github:AceSLS/SLSsteam";
|
||||||
|
woomer = {
|
||||||
|
url = "github:voidarclabs/woomer";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
chataigne.url = "./modules/chataigne";
|
chataigne.url = "./modules/chataigne";
|
||||||
norgolith = {
|
norgolith = {
|
||||||
url = "github:NTBBloodbath/norgolith";
|
url = "github:NTBBloodbath/norgolith";
|
||||||
@@ -41,7 +43,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Davinci-resolve
|
# Davinci-resolve
|
||||||
mesa-davinci.url = "github:nixos/nixpkgs?ref=599ddd2b79331c1e6153e1659bdaab65d62c4c82";
|
cracked-davinci.url = "git+https://git.voidarc.co.uk/voidarc/nixos.davinci";
|
||||||
|
|
||||||
omnisearch = {
|
omnisearch = {
|
||||||
url = "git+https://git.voidarc.co.uk/voidarc/omnisearch";
|
url = "git+https://git.voidarc.co.uk/voidarc/omnisearch";
|
||||||
@@ -49,42 +51,39 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = {
|
||||||
{
|
self,
|
||||||
self,
|
nixpkgs,
|
||||||
nixpkgs,
|
...
|
||||||
...
|
} @ inputs: let
|
||||||
}@inputs:
|
system = "x86_64-linux";
|
||||||
let
|
|
||||||
system = "x86_64-linux";
|
|
||||||
|
|
||||||
hardwareConfig = import /etc/nixos/hardware-configuration.nix;
|
hardwareConfig = import /etc/nixos/hardware-configuration.nix;
|
||||||
common = import ./configs/common.nix;
|
common = import ./configs/common.nix;
|
||||||
|
|
||||||
mkSystem =
|
mkSystem = extraModules:
|
||||||
extraModules:
|
nixpkgs.lib.nixosSystem {
|
||||||
nixpkgs.lib.nixosSystem {
|
inherit system;
|
||||||
inherit system;
|
specialArgs = {inherit inputs;};
|
||||||
specialArgs = { inherit inputs; };
|
modules =
|
||||||
modules = [
|
[
|
||||||
common
|
common
|
||||||
hardwareConfig
|
hardwareConfig
|
||||||
]
|
]
|
||||||
++ extraModules;
|
++ extraModules;
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixosConfigurations = {
|
|
||||||
mobile02 = mkSystem [ ./configs/configuration-laptop.nix ];
|
|
||||||
hackstation = mkSystem [
|
|
||||||
./configs/configuration-pc.nix
|
|
||||||
./modules/davinci/davinci.nix
|
|
||||||
./modules/i3/i3.nix
|
|
||||||
inputs.omnisearch.nixosModules.default
|
|
||||||
{
|
|
||||||
services.omnisearch.enable = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
|
nixosConfigurations = {
|
||||||
|
mobile02 = mkSystem [./configs/configuration-laptop.nix];
|
||||||
|
hackstation = mkSystem [
|
||||||
|
./configs/configuration-pc.nix
|
||||||
|
# ./modules/davinci/davinci.nix
|
||||||
|
./modules/i3/i3.nix
|
||||||
|
inputs.omnisearch.nixosModules.default
|
||||||
|
{
|
||||||
|
services.omnisearch.enable = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,78 +5,78 @@
|
|||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = {
|
||||||
{ self, nixpkgs }:
|
self,
|
||||||
let
|
nixpkgs,
|
||||||
system = "x86_64-linux";
|
}: let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
system = "x86_64-linux";
|
||||||
|
pkgs = import nixpkgs {inherit system;};
|
||||||
|
|
||||||
# The libraries you requested
|
# The libraries you requested
|
||||||
deps = with pkgs; [
|
deps = with pkgs; [
|
||||||
curlFull
|
curlFull
|
||||||
gnutls
|
gnutls
|
||||||
libxrandr
|
libxrandr
|
||||||
alsa-lib
|
alsa-lib
|
||||||
freetype
|
freetype
|
||||||
avahi
|
avahi
|
||||||
libglvnd
|
libglvnd
|
||||||
curl
|
curl
|
||||||
SDL2
|
SDL2
|
||||||
hidapi
|
hidapi
|
||||||
libpulseaudio
|
libpulseaudio
|
||||||
lz4
|
lz4
|
||||||
openssl
|
openssl
|
||||||
libcap
|
libcap
|
||||||
libxcrypt
|
libxcrypt
|
||||||
libgcrypt
|
libgcrypt
|
||||||
libbsd
|
libbsd
|
||||||
zlib
|
zlib
|
||||||
glib
|
glib
|
||||||
|
];
|
||||||
|
|
||||||
|
# Wrap the local AppImage file
|
||||||
|
chataigne-bin = pkgs.appimageTools.wrapType2 {
|
||||||
|
pname = "chataigne";
|
||||||
|
version = "1.10.3";
|
||||||
|
# This points to the file in the same directory as flake.nix
|
||||||
|
src = ./Chataigne-linux-x64-1.10.3.AppImage;
|
||||||
|
extraPkgs = pkgs: deps;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Create the Desktop Entry
|
||||||
|
chataigne-desktop = pkgs.makeDesktopItem {
|
||||||
|
name = "chataigne";
|
||||||
|
exec = "chataigne";
|
||||||
|
icon = "chataigne";
|
||||||
|
comment = "Modular machine for art and technology";
|
||||||
|
desktopName = "Chataigne";
|
||||||
|
categories = [
|
||||||
|
"AudioVideo"
|
||||||
|
"Development"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
# packages.${system}.default = chataigne-bin;
|
||||||
|
|
||||||
|
devShells.${system}.default = pkgs.mkShell {
|
||||||
|
# Packages you want available in your shell
|
||||||
|
buildInputs = [
|
||||||
|
chataigne-bin
|
||||||
];
|
];
|
||||||
|
|
||||||
# Wrap the local AppImage file
|
# Environmental variables or shell hooks
|
||||||
chataigne-bin = pkgs.appimageTools.wrapType2 {
|
shellHook = ''
|
||||||
pname = "chataigne";
|
echo "something"
|
||||||
version = "1.10.3";
|
'';
|
||||||
# This points to the file in the same directory as flake.nix
|
|
||||||
src = ./Chataigne-linux-x64-1.10.3.AppImage;
|
|
||||||
extraPkgs = pkgs: deps;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Create the Desktop Entry
|
|
||||||
chataigne-desktop = pkgs.makeDesktopItem {
|
|
||||||
name = "chataigne";
|
|
||||||
exec = "chataigne";
|
|
||||||
icon = "chataigne";
|
|
||||||
comment = "Modular machine for art and technology";
|
|
||||||
desktopName = "Chataigne";
|
|
||||||
categories = [
|
|
||||||
"AudioVideo"
|
|
||||||
"Development"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
# packages.${system}.default = chataigne-bin;
|
|
||||||
|
|
||||||
devShells.${system}.default = pkgs.mkShell {
|
|
||||||
# Packages you want available in your shell
|
|
||||||
buildInputs = [
|
|
||||||
chataigne-bin
|
|
||||||
];
|
|
||||||
|
|
||||||
# Environmental variables or shell hooks
|
|
||||||
shellHook = ''
|
|
||||||
echo "something"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
# This allows you to run 'nix run' or install it via system config
|
|
||||||
packages.${system}.default = pkgs.symlinkJoin {
|
|
||||||
name = "chataigne";
|
|
||||||
paths = [
|
|
||||||
chataigne-bin
|
|
||||||
chataigne-desktop
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
# This allows you to run 'nix run' or install it via system config
|
||||||
|
packages.${system}.default = pkgs.symlinkJoin {
|
||||||
|
name = "chataigne";
|
||||||
|
paths = [
|
||||||
|
chataigne-bin
|
||||||
|
chataigne-desktop
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,192 +0,0 @@
|
|||||||
# Tested on Davinci 20.2.2. It works for loading videos and exporting in H264/5 & AV1
|
|
||||||
# Even if following this guide https://www.reddit.com/r/LinuxCrackSupport/comments/1nfqhld/davinci_resolve_studio_202_fix_linux_crack_guide/
|
|
||||||
# nixpkgs rev used for this tests: 4652ba995a945108fb891191c1e910b9a6ed9064
|
|
||||||
|
|
||||||
{ lib, inputs, ... }:
|
|
||||||
let
|
|
||||||
mesa-good-pkg = inputs.mesa-davinci.legacyPackages.x86_64-linux.mesa;
|
|
||||||
pkgs = import (builtins.fetchTarball {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/archive/ec7c70d12ce2fc37cb92aff673dcdca89d187bae.tar.gz";
|
|
||||||
}) { config.allowUnfree = true; };
|
|
||||||
pkgs-pinned =
|
|
||||||
import
|
|
||||||
(builtins.fetchTarball {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/archive/497ee3c70707fd71b45c37d48ae1d45e79751047.tar.gz";
|
|
||||||
})
|
|
||||||
{
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ffmpeg-encoder-plugin = pkgs.stdenv.mkDerivation (finalAttrs: {
|
|
||||||
pname = "ffmpeg-encoder-plugin";
|
|
||||||
version = "1.2.1";
|
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "EdvinNilsson";
|
|
||||||
repo = "ffmpeg_encoder_plugin";
|
|
||||||
rev = "v${finalAttrs.version}";
|
|
||||||
hash = "sha256-F4Q8YCXD5UldTwLbWK4nHacNPQ/B+4yLL96sq7xZurM=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgs.cmake ];
|
|
||||||
buildInputs = [ pkgs.ffmpeg-full ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out
|
|
||||||
cp ffmpeg_encoder_plugin.dvcp $out/
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
davinci-resolve-studio-cracked =
|
|
||||||
let
|
|
||||||
davinci-patched = pkgs-pinned.davinci-resolve-studio.davinci.overrideAttrs (old: {
|
|
||||||
# script based on https://www.reddit.com/r/LinuxCrackSupport/comments/1nfqhld/davinci_resolve_studio_202_fix_linux_crack_guide/
|
|
||||||
#
|
|
||||||
# Additionally, it will install ffmpeg_encoder_plugin to enable H264/5 & AV1 exports:
|
|
||||||
# https://github.com/EdvinNilsson/ffmpeg_encoder_plugin
|
|
||||||
#
|
|
||||||
# Note: $out IS /opt/resolve
|
|
||||||
postInstall = ''
|
|
||||||
${old.postInstall or ""}
|
|
||||||
${lib.getExe pkgs.perl} -pi -e 's/\x74\x11\xe8\x21\x23\x00\x00/\xeb\x11\xe8\x21\x23\x00\x00/g' $out/bin/resolve
|
|
||||||
${lib.getExe pkgs.perl} -pi -e 's/\x03\x00\x89\x45\xFC\x83\x7D\xFC\x00\x74\x11\x48\x8B\x45\xC8\x8B/\x03\x00\x89\x45\xFC\x83\x7D\xFC\x00\xEB\x11\x48\x8B\x45\xC8\x8B/' $out/bin/resolve
|
|
||||||
${lib.getExe pkgs.perl} -pi -e 's/\x74\x11\x48\x8B\x45\xC8\x8B\x55\xFC\x89\x50\x58\xB8\x00\x00\x00/\xEB\x11\x48\x8B\x45\xC8\x8B\x55\xFC\x89\x50\x58\xB8\x00\x00\x00/' $out/bin/resolve
|
|
||||||
${lib.getExe pkgs.perl} -pi -e 's/\x41\xb6\x01\x84\xc0\x0f\x84\xb0\x00\x00\x00\x48\x85\xdb\x74\x08\x45\x31\xf6\xe9\xa3\x00\x00\x00/\x41\xb6\x00\x84\xc0\x0f\x84\xb0\x00\x00\x00\x48\x85\xdb\x74\x08\x45\x31\xf6\xe9\xa3\x00\x00\x00/' $out/bin/resolve
|
|
||||||
touch $out/.license/blackmagic.lic
|
|
||||||
echo -e "LICENSE blackmagic davinciresolvestudio 999999 permanent uncounted\n hostid=ANY issuer=CGP customer=CGP issued=28-dec-2023\n akey=0000-0000-0000-0000 _ck=00 sig=\"00\"" > $out/.license/blackmagic.lic
|
|
||||||
|
|
||||||
mkdir -p $out/IOPlugins/ffmpeg_encoder_plugin.dvcp.bundle/Contents/Linux-x86-64
|
|
||||||
cp ${ffmpeg-encoder-plugin}/ffmpeg_encoder_plugin.dvcp $out/IOPlugins/ffmpeg_encoder_plugin.dvcp.bundle/Contents/Linux-x86-64/
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
in
|
|
||||||
|
|
||||||
# the following was copied from davinci's derivation from nixpkgs.
|
|
||||||
# if davinci updates, this should be updated too
|
|
||||||
# but remember to replace "davinci" with "davinci-patched"
|
|
||||||
pkgs.buildFHSEnv {
|
|
||||||
inherit (davinci-patched) pname version;
|
|
||||||
|
|
||||||
targetPkgs =
|
|
||||||
pkgs:
|
|
||||||
with pkgs;
|
|
||||||
[
|
|
||||||
alsa-lib
|
|
||||||
aprutil
|
|
||||||
bzip2
|
|
||||||
dbus
|
|
||||||
expat
|
|
||||||
fontconfig
|
|
||||||
freetype
|
|
||||||
glib
|
|
||||||
libGL
|
|
||||||
libGLU
|
|
||||||
libarchive
|
|
||||||
libcap
|
|
||||||
librsvg
|
|
||||||
libtool
|
|
||||||
libuuid
|
|
||||||
libxcrypt # provides libcrypt.so.1
|
|
||||||
libxkbcommon
|
|
||||||
nspr
|
|
||||||
ocl-icd
|
|
||||||
opencl-headers
|
|
||||||
python3
|
|
||||||
python3.pkgs.numpy
|
|
||||||
udev
|
|
||||||
xdg-utils # xdg-open needed to open URLs
|
|
||||||
libICE
|
|
||||||
libSM
|
|
||||||
libX11
|
|
||||||
libXcomposite
|
|
||||||
libXcursor
|
|
||||||
libXdamage
|
|
||||||
libXext
|
|
||||||
libXfixes
|
|
||||||
libXi
|
|
||||||
libXinerama
|
|
||||||
libXrandr
|
|
||||||
libXrender
|
|
||||||
libXt
|
|
||||||
libXtst
|
|
||||||
libXxf86vm
|
|
||||||
libxcb
|
|
||||||
xcbutil
|
|
||||||
xcbutilimage
|
|
||||||
xcbutilkeysyms
|
|
||||||
xcbutilrenderutil
|
|
||||||
xcbutilwm
|
|
||||||
xkeyboardconfig
|
|
||||||
zlib
|
|
||||||
ocl-icd
|
|
||||||
rocmPackages.clr.icd
|
|
||||||
libGL
|
|
||||||
libGLU
|
|
||||||
]
|
|
||||||
++ [
|
|
||||||
mesa-good-pkg
|
|
||||||
davinci-patched
|
|
||||||
];
|
|
||||||
|
|
||||||
extraPreBwrapCmds = ''
|
|
||||||
mkdir -p ~/.local/share/DaVinciResolve/Extras || exit 1
|
|
||||||
'';
|
|
||||||
|
|
||||||
extraBwrapArgs = [
|
|
||||||
''--bind "$HOME"/.local/share/DaVinciResolve/Extras ${davinci-patched}/Extras''
|
|
||||||
];
|
|
||||||
|
|
||||||
runScript = "${lib.getExe pkgs.bash} ${pkgs.writeText "davinci-wrapper" ''
|
|
||||||
export QT_XKB_CONFIG_ROOT="${pkgs.xkeyboard_config}/share/X11/xkb"
|
|
||||||
export QT_PLUGIN_PATH="${davinci-patched}/libs/plugins:$QT_PLUGIN_PATH"
|
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib32:${davinci-patched}/libs
|
|
||||||
# Force Resolve to use X11 (via XWayland) to avoid Aquamarine/Hyprland conflicts
|
|
||||||
export QT_QPA_PLATFORM=xcb
|
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${davinci-patched}/libs
|
|
||||||
|
|
||||||
# Prevent Resolve from trying to talk to the Wayland socket directly
|
|
||||||
unset WAYLAND_DISPLAY
|
|
||||||
${davinci-patched}/bin/resolve
|
|
||||||
''}";
|
|
||||||
|
|
||||||
extraInstallCommands = ''
|
|
||||||
mkdir -p $out/share/applications $out/share/icons/hicolor/128x128/apps
|
|
||||||
ln -s ${davinci-patched}/share/applications/*.desktop $out/share/applications/
|
|
||||||
ln -s ${davinci-patched}/graphics/DV_Resolve.png $out/share/icons/hicolor/128x128/apps/davinci-resolve-studio.png
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
inherit davinci-patched;
|
|
||||||
updateScript = lib.getExe (
|
|
||||||
pkgs.writeShellApplication {
|
|
||||||
name = "update-davinci-resolve";
|
|
||||||
runtimeInputs = [
|
|
||||||
pkgs.curl
|
|
||||||
pkgs.jq
|
|
||||||
pkgs.common-updater-scripts
|
|
||||||
];
|
|
||||||
text = ''
|
|
||||||
set -o errexit
|
|
||||||
drv=pkgs/by-name/da/davinci-resolve/package.nix
|
|
||||||
currentVersion=${lib.escapeShellArg davinci-patched.version}
|
|
||||||
downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)"
|
|
||||||
|
|
||||||
latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)"
|
|
||||||
update-source-version davinci-resolve "$latestLinuxVersion" --source-key=davinci.src
|
|
||||||
|
|
||||||
# Since the standard and studio both use the same version we need to reset it before updating studio
|
|
||||||
sed -i -e "s/""$latestLinuxVersion""/""$currentVersion""/" "$drv"
|
|
||||||
|
|
||||||
latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+(\.\d+)?' | sort | tail -n 1)"
|
|
||||||
update-source-version davinci-resolve-studio "$latestStudioLinuxVersion" --source-key=davinci.src
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
environment.systemPackages = [ davinci-resolve-studio-cracked ];
|
|
||||||
}
|
|
||||||
@@ -4,8 +4,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
services.libinput.enable = true;
|
services.libinput.enable = true;
|
||||||
|
|
||||||
services.displayManager.defaultSession = "hyprland";
|
services.displayManager.defaultSession = "hyprland";
|
||||||
|
|||||||
Reference in New Issue
Block a user