mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 19:46:20 +00:00
migrate packages to home manager
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
2
home.nix
2
home.nix
@@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
62
packages.nix
62
packages.nix
@@ -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
|
||||||
|
]
|
||||||
|
|||||||
17
packages/firefox-gnome-theme-installer.nix
Normal file
17
packages/firefox-gnome-theme-installer.nix
Normal 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
|
||||||
|
'';
|
||||||
|
}
|
||||||
44
packages/hid-fanatecff-tools.nix
Normal file
44
packages/hid-fanatecff-tools.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
};
|
};
|
||||||
});
|
})
|
||||||
|
|||||||
5
packages/threema-desktop.nix
Normal file
5
packages/threema-desktop.nix
Normal 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
18
update-intellij.sh
Executable 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"
|
||||||
|
|
||||||
Reference in New Issue
Block a user