Flake: Add nixpkgs-stable input, put the overlays in the correct place and add jetbrains.rider overlay
Jetbrains apps are currently broken on unstable because of a jetbrains.jdk buildfailure
This commit is contained in:
17
flake.lock
generated
17
flake.lock
generated
@ -718,6 +718,22 @@
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1752950548,
|
||||
@ -889,6 +905,7 @@
|
||||
"nix-alien": "nix-alien",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixvim": "nixvim",
|
||||
"nps": "nps",
|
||||
"nur": "nur",
|
||||
|
50
flake.nix
50
flake.nix
@ -12,6 +12,9 @@
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
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.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
@ -52,7 +55,7 @@
|
||||
hypr-dynamic-cursors.inputs.nixpkgs.follows = "nixpkgs";
|
||||
hypr-dynamic-cursors.inputs.hyprland.follows = "hyprland";
|
||||
hyprspace.url = "github:KZDKM/Hyprspace";
|
||||
hyprspace.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# hyprspace.inputs.nixpkgs.follows = "nixpkgs";
|
||||
hyprspace.inputs.hyprland.follows = "hyprland";
|
||||
|
||||
# NeoVim <3
|
||||
@ -111,41 +114,24 @@
|
||||
# firefox = prev.firefox.override { ... };
|
||||
# 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.nur.overlays.default
|
||||
# inputs.emacs-overlay.overlay
|
||||
|
||||
# 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
|
||||
# (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;})
|
||||
# All my own overlays (derivations + modifications)
|
||||
(import ./overlays {inherit inputs nixpkgs pkgs-stable;})
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -91,8 +91,7 @@
|
||||
# Add any extra libraries you want accessible to Rider here
|
||||
];
|
||||
|
||||
# TODO: Broken, jetbrains.jdk doesn't build (see nixpkgs #425328)
|
||||
unity-rider = pkgs.jetbrains.rider.overrideAttrs (attrs: {
|
||||
rider-unity = pkgs.jetbrains.rider.overrideAttrs (attrs: {
|
||||
postInstall =
|
||||
''
|
||||
# Wrap rider with extra tools and libraries
|
||||
@ -115,21 +114,22 @@
|
||||
});
|
||||
in {
|
||||
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.rust-rover
|
||||
# jetbrains.pycharm-professional
|
||||
# jetbrains.idea-ultimate
|
||||
# jetbrains.webstorm
|
||||
# jetbrains.rider
|
||||
|
||||
# Unity Stuff
|
||||
# TODO: Unity module
|
||||
# unityhub # TODO: Wait for https://nixpk.gs/pr-tracker.html?pr=422785
|
||||
# unity-rider
|
||||
# dotnetCore
|
||||
# mono
|
||||
rider-unity
|
||||
dotnetCore
|
||||
mono
|
||||
|
||||
blender
|
||||
godot_4
|
||||
@ -144,19 +144,20 @@
|
||||
|
||||
file = lib.mkMerge [
|
||||
{
|
||||
# ".local/share/applications/jetbrains-rider.desktop".source = let
|
||||
# desktopFile = pkgs.makeDesktopItem {
|
||||
# name = "jetbrains-rider";
|
||||
# desktopName = "Rider";
|
||||
# exec = "\"${unity-rider}/bin/rider\"";
|
||||
# icon = "rider";
|
||||
# type = "Application";
|
||||
# # Don't show desktop icon in search or run launcher
|
||||
# extraConfig.NoDisplay = "true";
|
||||
# };
|
||||
# in "${desktopFile}/share/applications/jetbrains-rider.desktop";
|
||||
".local/share/applications/jetbrains-rider.desktop".source = let
|
||||
desktopFile = pkgs.makeDesktopItem {
|
||||
name = "jetbrains-rider";
|
||||
desktopName = "Rider";
|
||||
exec = "\"${rider-unity}/bin/rider\"";
|
||||
icon = "rider";
|
||||
type = "Application";
|
||||
# Don't show desktop icon in search or run launcher
|
||||
extraConfig.NoDisplay = "true";
|
||||
};
|
||||
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) {
|
||||
".MakeMKV/settings.conf".source =
|
||||
|
@ -248,7 +248,7 @@
|
||||
# rotate - rotate the cursor based on movement direction
|
||||
# stretch - stretch the cursor shape based on direction and velocity
|
||||
# none - do not change the cursors behaviour
|
||||
mode = "tilt";
|
||||
mode = "rotate";
|
||||
|
||||
# minimum angle difference in degrees after which the shape is changed
|
||||
# smaller values are smoother, but more expensive for hw cursors
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
inputs,
|
||||
nixpkgs,
|
||||
pkgs-stable,
|
||||
...
|
||||
}: let
|
||||
# Taken from https://github.com/Misterio77/nix-config/blob/main/overlay/default.nix
|
||||
@ -11,14 +12,39 @@
|
||||
pkgs = final;
|
||||
};
|
||||
|
||||
modifications = final: prev: rec {
|
||||
modifications = final: prev: {
|
||||
# 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; };
|
||||
# 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_pinned_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
|
||||
# TODO: I have absolutely no clue what happens here lol
|
||||
# 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
|
||||
# Composes a list of overlays and returns a single overlay function that combines them.
|
||||
nixpkgs.lib.composeManyExtensions [additions modifications]
|
||||
|
Reference in New Issue
Block a user