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"; homeDirPrefix = if pkgs.stdenv.hostPlatform.isDarwin then "/Users" else "/home";
homeDirectory = "/${homeDirPrefix}/${username}"; homeDirectory = "${homeDirPrefix}/${username}";
home = (import ./home.nix { home = (import ./home.nix {
inherit homeDirectory pkgs stateVersion system username; inherit homeDirectory pkgs stateVersion system username;

View File

@@ -6,7 +6,7 @@ in {
inherit homeDirectory packages stateVersion username; inherit homeDirectory packages stateVersion username;
shellAliases = { 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; [ { pkgs }: with pkgs; [
cachix # nix
lorri cachix
lorri
# chat apps # browsers
(discord.override { firefox-wayland
withOpenASAR = true; chromium
withVencord = true; brave
})
# development # media
(import ./packages/intellij.nix { inherit pkgs; jellyfin-media-player
version = "2023.2.4"; youtube-music
build = "232.10203.10"; 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: { { pkgs }: pkgs.jetbrains.idea-ultimate.overrideAttrs(prev: {
version = "${version}"; version = "2023.2.4";
build_number = "${build}";
src = builtins.fetchurl { 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"