migrate packages to home manager

This commit is contained in:
2023-10-28 15:09:54 +02:00
parent 2384dc11a9
commit 5a9a6ea04f
8 changed files with 142 additions and 22 deletions

View File

@@ -22,7 +22,7 @@
};
homeDirPrefix = if pkgs.stdenv.hostPlatform.isDarwin then "/Users" else "/home";
homeDirectory = "/${homeDirPrefix}/${username}";
homeDirectory = "${homeDirPrefix}/${username}";
home = (import ./home.nix {
inherit homeDirectory pkgs stateVersion system username;

View File

@@ -6,7 +6,7 @@ in {
inherit homeDirectory packages stateVersion username;
shellAliases = {
reload-home-manager-config = "home-manager switch --flake ${builtins.toString ./.}";
reload-home-manager-config = "home-manager switch --flake ${homeDirectory}/.config/home-manager";
};
};

View File

@@ -1,16 +1,52 @@
{ pkgs }: with pkgs; [
cachix
lorri
# chat apps
(discord.override {
withOpenASAR = true;
withVencord = true;
})
# development
(import ./packages/intellij.nix { inherit pkgs;
version = "2023.2.4";
build = "232.10203.10";
})
];
# nix
cachix
lorri
# browsers
firefox-wayland
chromium
brave
# media
jellyfin-media-player
youtube-music
vlc
makemkv
handbrake
metadata-cleaner
# chat apps
(import ./packages/threema-desktop.nix { inherit pkgs; })
(discord.override {
withOpenASAR = true;
withVencord = true;
})
slack
# office
libreoffice
apostrophe # markdown editor
# creative
gimp-with-plugins
inkscape-with-extensions
audacity
friture
blender
# development
(import ./packages/intellij.nix { inherit pkgs; })
jetbrains.rust-rover
insomnia
avalonia-ilspy
# gaming
steam
oversteer
obs-studio
cartridges
bottles
protontricks
mangohud
]

View File

@@ -0,0 +1,17 @@
{ lib, stdenv, fetchFromGitHub, pkgs }:
stdenv.mkDerivation rec {
name = "firefox-gnome-theme";
version = "116.0.0";
src = fetchFromGitHub {
owner = "rafaelmardojai";
repo = "firefox-gnome-theme";
sparseCheckout = ["scripts"];
rev = "v116";
sha256 = "0IS5na2WRSNWNygHhmZOcXhdrx2aFhCDQY8XVVeHf8Q=";
};
installPhase = ''
mkdir -p $out/bin
cp scripts/install-by-curl.sh $out/bin/install-firefox-gnome-theme
'';
}

View File

@@ -0,0 +1,44 @@
{ lib, stdenv, fetchFromGitHub, pkgs }:
stdenv.mkDerivation rec {
pname = "hid-fanatecff-tools";
version = "0.1.0";
src = fetchFromGitHub {
owner = "gotzl";
repo = "hid-fanatecff-tools";
rev = "7f9ab82a5e46a60811a9917765ec5d3cdbf0ecbd";
hash = "sha256-urgAMa3xPe6iYLwXavJ5rtjsbtueUG64XPsAlB1x/Y8=";
};
patchPhase = ''
substituteInPlace "tools/fanatec_led_server.py" --replace "#!/usr/bin/python3" "#!/${pkgs.python312}"
rm Makefile
'';
installPhase = ''
mkdir -p $out/share/${pname}
cp . $out/share/${pname}
mkdir -p $out/bin
ln -s $out/share/${pname}/tools/fanatec_led_server $out/bin/${pname}
cp -v dbus/org.fanatec.conf $out/etc/dbus-1/system.d/
cp -v dbus/org.fanatec.service $out/share/dbus-1/system-services/
ln -s dbus/fanatec-input.py $out/bin/fanatec-input
ln -s dbus/fanatec-input.systemd.service $out/lib/systemd/system/fanatec-input.service
'';
meta = with lib; {
description = ''
Helper to access sysfs functions from the hid-fanatec driver
and aims to connect games with the (extended) features of
the CSL Elite Wheel. It is not needed for force-feedback to work.
'';
homepage = "https://github.com/gotzl/hid-fanatecff-tools";
license = licenses.gpl2Only;
platforms = platforms.linux;
};
}

View File

@@ -1,7 +1,7 @@
{ pkgs, version, build }: pkgs.jetbrains.idea-ultimate.overrideAttrs(prev: {
version = "${version}";
build_number = "${build}";
{ pkgs }: pkgs.jetbrains.idea-ultimate.overrideAttrs(prev: {
version = "2023.2.4";
src = builtins.fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
url = "https://download.jetbrains.com/idea/ideaIU-2023.2.4.tar.gz";
sha256 = "26fea1a8597e8124dcc24e8ed1dd6f5268e0cd1ba736bbe0e22df3f635ad280b";
};
});
})

View File

@@ -0,0 +1,5 @@
{ pkgs }: pkgs.threema-desktop.overrideAttrs(prev: {
postFixup = prev.postFixup + ''
echo "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" >> $out/bin/threema
'';
}))

18
update-intellij.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/usr/bin/env bash
nixFile="./packages/intellij.nix"
info=$(curl --silent --fail --show-error "https://download.jetbrains.com/idea/ideaIU-$1.tar.gz.sha256")
checksum=$(echo $info | grep -oE '^[0-9a-f]{64}')
filename=$(echo $info | grep -oE '[^* ]+$')
if [ -z "${checksum}" ] || [ -z "${filename}" ]; then
exit -1
fi
echo "Filename: $filename"
echo "Checksum: $checksum"
sed -i "s|version\s*=.*|version = \"$1\";|" "$nixFile"
sed -i "s|url\s*=.*|url = \"https://download.jetbrains.com/idea/$filename\";|" "$nixFile"
sed -i "s|sha256\s*=.*|sha256 = \"$checksum\";|" "$nixFile"
echo ""
echo "IntelliJ updated to $1"