properly reformat all files

This commit is contained in:
Franek 2025-05-03 09:25:00 +02:00
parent 635ef052e7
commit 5948c1db1c
18 changed files with 324 additions and 287 deletions

View File

@ -10,16 +10,22 @@
ags.url = "github:Aylur/ags"; ags.url = "github:Aylur/ags";
fingerprint-sensor.url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor/24.11"; fingerprint-sensor.url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor/24.11";
android-nixpkgs.url = "github:tadfisher/android-nixpkgs"; android-nixpkgs.url = "github:tadfisher/android-nixpkgs";
hyprspace.url = "github:KZDKM/Hyprspace"; hyprspace.url = "github:KZDKM/Hyprspace";
android-nixpkgs.inputs.nixpkgs.follows = "nixpkgs"; android-nixpkgs.inputs.nixpkgs.follows = "nixpkgs";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
stylix.inputs.nixpkgs.follows = "nixpkgs"; stylix.inputs.nixpkgs.follows = "nixpkgs";
ags.inputs.nixpkgs.follows = "nixpkgs"; ags.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = { self, nixpkgs, android-nixpkgs, ... }: outputs =
{
self,
nixpkgs,
android-nixpkgs,
...
}:
let let
forAllSystems = nixpkgs.lib.genAttrs [ forAllSystems = nixpkgs.lib.genAttrs [
"aarch64-linux" "aarch64-linux"
@ -29,12 +35,16 @@
in in
{ {
nixosConfigurations = import ./hosts { inherit self; }; nixosConfigurations = import ./hosts { inherit self; };
devShells = forAllSystems (system: devShells = forAllSystems (
let pkgs = nixpkgs.legacyPackages.${system}; system:
in { let
ddt4all = import ./shells/ddt4all.nix { inherit pkgs; }; pkgs = nixpkgs.legacyPackages.${system};
android = import ./shells/android.nix { inherit pkgs android-nixpkgs; }; in
rust = import ./shells/rust.nix { inherit pkgs; }; {
}); ddt4all = import ./shells/ddt4all.nix { inherit pkgs; };
android = import ./shells/android.nix { inherit pkgs android-nixpkgs; };
rust = import ./shells/rust.nix { inherit pkgs; };
}
);
}; };
} }

View File

@ -2,8 +2,8 @@
let let
inherit (self) inputs; inherit (self) inputs;
lib = inputs.nixpkgs.lib; lib = inputs.nixpkgs.lib;
homeDir = self + /profiles; homeDir = self + /profiles;
mkSystem = mkSystem =
@ -12,16 +12,17 @@ let
hostname, hostname,
useHomeManager ? true, useHomeManager ? true,
modules ? [ ], modules ? [ ],
}: lib.nixosSystem { }:
lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = modules =
[ [
./base-configuration.nix ./base-configuration.nix
./${hostname} ./${hostname}
homeDir homeDir
] ]
++ lib.lists.optionals useHomeManager [ inputs.home-manager.nixosModules.default ] ++ lib.lists.optionals useHomeManager [ inputs.home-manager.nixosModules.default ]
++ modules; ++ modules;
}; };
in in
{ {

View File

@ -9,9 +9,12 @@
]; ];
nix.settings = { nix.settings = {
experimental-features = [ "nix-command" "flakes" ]; experimental-features = [
auto-optimise-store = true; "nix-command"
}; "flakes"
];
auto-optimise-store = true;
};
nix.gc = { nix.gc = {
automatic = true; automatic = true;
@ -19,16 +22,16 @@
options = "--delete-older-than 7d"; options = "--delete-older-than 7d";
}; };
nixpkgs.config = { nixpkgs.config = {
allowUnfreePredicate = allowUnfreePredicate =
pkg: pkg:
builtins.elem (pkgs.lib.getName pkg) [ builtins.elem (pkgs.lib.getName pkg) [
"nvidia-settings" "nvidia-settings"
"nvidia-x11" "nvidia-x11"
"nordvpn" "nordvpn"
"hplip" "hplip"
]; ];
}; };
swapDevices = [ swapDevices = [
{ {

View File

@ -9,12 +9,12 @@
../../modules/nixos/greetd.nix ../../modules/nixos/greetd.nix
../../modules/nixos/audio.nix ../../modules/nixos/audio.nix
# Apps + services # Apps + services
../../modules/nixos/nordvpn.nix ../../modules/nixos/nordvpn.nix
]; ];
modules.bluetooth.enable = true; modules.bluetooth.enable = true;
modules.nordvpn.enable = true; modules.nordvpn.enable = true;
modules.nvidia.enable = true; modules.nvidia.enable = true;
modules.audio.enable = true; modules.audio.enable = true;
modules.fingerprint-fix = { modules.fingerprint-fix = {
@ -38,7 +38,7 @@
}; };
udev.extraRules = '' udev.extraRules = ''
SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness" SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness"
''; '';
}; };

View File

@ -28,19 +28,19 @@ let
dontBuild = true; dontBuild = true;
unpackPhase = '' unpackPhase = ''
runHook preUnpack runHook preUnpack
dpkg --extract $src . dpkg --extract $src .
runHook postUnpack runHook postUnpack
''; '';
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out mkdir -p $out
mv usr/* $out/ mv usr/* $out/
mv var/ $out/ mv var/ $out/
mv etc/ $out/ mv etc/ $out/
runHook postInstall runHook postInstall
''; '';
}; };
nordVPNfhs = pkgs.buildFHSEnvChroot { nordVPNfhs = pkgs.buildFHSEnvChroot {
@ -63,11 +63,11 @@ let
}; };
preScript = pkgs.writeShellScript "nordvpn-start" '' preScript = pkgs.writeShellScript "nordvpn-start" ''
mkdir -m 700 -p /var/lib/nordvpn; mkdir -m 700 -p /var/lib/nordvpn;
if [ -z "$(ls -A /var/lib/nordvpn)" ]; then if [ -z "$(ls -A /var/lib/nordvpn)" ]; then
cp -r ${nordVPNBase}/var/lib/nordvpn/* /var/lib/nordvpn; cp -r ${nordVPNBase}/var/lib/nordvpn/* /var/lib/nordvpn;
fi fi
''; '';
in in
pkgs.stdenv.mkDerivation rec { pkgs.stdenv.mkDerivation rec {
inherit pname version; inherit pname version;
@ -77,14 +77,14 @@ pkgs.stdenv.mkDerivation rec {
dontBuild = true; dontBuild = true;
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/bin $out/share mkdir -p $out/bin $out/share
ln -s ${nordVPNBase}/bin/nordvpn $out/bin ln -s ${nordVPNBase}/bin/nordvpn $out/bin
ln -s ${nordVPNfhs}/bin/nordvpnd $out/bin ln -s ${nordVPNfhs}/bin/nordvpnd $out/bin
ln -s ${nordVPNBase}/share/* $out/share/ ln -s ${nordVPNBase}/share/* $out/share/
ln -s ${nordVPNBase}/var $out/ ln -s ${nordVPNBase}/var $out/
runHook postInstall runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
description = "CLI client for NordVPN"; description = "CLI client for NordVPN";

View File

@ -1,5 +1,32 @@
{ config, pkgs, lib, inputs, ... }: {
config,
pkgs,
lib,
inputs,
...
}:
let
generate-colors =
colors: with colors; ''
$base00: #${base00};
$base01: #${base01};
$base02: #${base02};
$base03: #${base03};
$base04: #${base04};
$base05: #${base05};
$base06: #${base06};
$base07: #${base07};
$base08: #${base08};
$base09: #${base09};
$base0A: #${base0A};
$base0B: #${base0B};
$base0C: #${base0C};
$base0D: #${base0D};
$base0E: #${base0E};
$base0F: #${base0F};
'';
in
{ {
options.modules.ags = { options.modules.ags = {
enable = lib.mkEnableOption "Aylur's GTK Shell with optional Stylix support"; enable = lib.mkEnableOption "Aylur's GTK Shell with optional Stylix support";
@ -11,43 +38,29 @@
}; };
config = lib.mkIf config.modules.ags.enable { config = lib.mkIf config.modules.ags.enable {
programs.ags = { programs.ags = {
enable = true; enable = true;
extraPackages = if config.modules.ags.full then extraPackages =
with inputs.ags.packages.${pkgs.system}; if config.modules.ags.full then
[ with inputs.ags.packages.${pkgs.system};
apps [
battery apps
bluetooth battery
greet bluetooth
hyprland greet
mpris hyprland
network mpris
notifd network
powerprofiles notifd
tray powerprofiles
wireplumber tray
] else []; wireplumber
}; ]
else
[ ];
};
home.file.".config/theme_colors.scss".text = if config.modules.stylix.enable home.file.".config/theme_colors.scss".text =
then with config.lib.stylix.colors; '' if config.modules.stylix.enable then generate-colors config.lib.stylix.colors else null;
$base00: #${base00};
$base01: #${base01};
$base02: #${base02};
$base03: #${base03};
$base04: #${base04};
$base05: #${base05};
$base06: #${base06};
$base07: #${base07};
$base08: #${base08};
$base09: #${base09};
$base0A: #${base0A};
$base0B: #${base0B};
$base0C: #${base0C};
$base0D: #${base0D};
$base0E: #${base0E};
$base0F: #${base0F};
'' else null;
}; };
} }

View File

@ -1,35 +1,35 @@
{ {
config, config,
lib, lib,
pkgs, pkgs,
inputs, inputs,
... ...
}: }:
{ {
options.modules.apple-style.enable = lib.mkEnableOption "Enable Apple fonts and emojis"; options.modules.apple-style.enable = lib.mkEnableOption "Enable Apple fonts and emojis";
config = lib.mkIf (config.modules.apple-style.enable && config.modules.stylix.enable) { config = lib.mkIf (config.modules.apple-style.enable && config.modules.stylix.enable) {
stylix.fonts = { stylix.fonts = {
serif = { serif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd; package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font"; name = "SFProDisplay Nerd Font";
}; };
sansSerif = { sansSerif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd; package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProText Nerd Font"; name = "SFProText Nerd Font";
}; };
monospace = { monospace = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd; package = inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd;
name = "SFMono Nerd Font"; name = "SFMono Nerd Font";
}; };
emoji = { emoji = {
package = inputs.apple-emoji.packages.${pkgs.system}.apple-emoji-nix; package = inputs.apple-emoji.packages.${pkgs.system}.apple-emoji-nix;
name = "Apple Color Emoji"; name = "Apple Color Emoji";
}; };
}; };
}; };
} }

View File

@ -6,39 +6,40 @@
}: }:
let let
inherit (pkgs.lib) optionalAttrs; inherit (pkgs.lib) optionalAttrs;
home-manager = "${pkgs.home-manager}/bin/home-manager"; home-manager = "${pkgs.home-manager}/bin/home-manager";
grep = lib.getExe' pkgs.toybox "grep"; grep = lib.getExe' pkgs.toybox "grep";
head = lib.getExe' pkgs.toybox "head"; head = lib.getExe' pkgs.toybox "head";
find = lib.getExe' pkgs.toybox "find"; find = lib.getExe' pkgs.toybox "find";
find-generation = '' find-generation = ''
for line in $(${home-manager} generations | ${grep} -o '/.*') for line in $(${home-manager} generations | ${grep} -o '/.*')
do do
res=$(${find} $line | ${grep} specialisation | ${head} -1) res=$(${find} $line | ${grep} specialisation | ${head} -1)
output=$? output=$?
if [[ $output -eq 0 ]] && [[ $res != "" ]]; then if [[ $output -eq 0 ]] && [[ $res != "" ]]; then
echo $res echo $res
exit exit
fi fi
done done
''; '';
switch-theme = theme: "$(${find-generation})/${theme}/activate"; switch-theme = theme: "$(${find-generation})/${theme}/activate";
in { in
{
options.modules.darkman = { options.modules.darkman = {
enable = lib.mkEnableOption "Darkman service and integration"; enable = lib.mkEnableOption "Darkman service and integration";
customLightModeScript = lib.mkOption { customLightModeScript = lib.mkOption {
type = lib.types.nullOr lib.types.str; type = lib.types.nullOr lib.types.str;
default = null; default = null;
description = "Path to custom light mode script"; description = "Path to custom light mode script";
}; };
customDarkModeScript = lib.mkOption { customDarkModeScript = lib.mkOption {
type = lib.types.nullOr lib.types.str; type = lib.types.nullOr lib.types.str;
default = null; default = null;
description = "Path to custom dark mode script"; description = "Path to custom dark mode script";
}; };
}; };
@ -46,17 +47,21 @@ in {
config = lib.mkIf config.modules.darkman.enable { config = lib.mkIf config.modules.darkman.enable {
services.darkman = { services.darkman = {
enable = true; enable = true;
darkModeScripts = optionalAttrs (config.modules.darkman.customDarkModeScript != null) { darkModeScripts =
custom = config.modules.darkman.customDarkModeScript; optionalAttrs (config.modules.darkman.customDarkModeScript != null) {
} // optionalAttrs (config.modules.stylix.enable) { custom = config.modules.darkman.customDarkModeScript;
stylix = switch-theme "dark"; }
}; // optionalAttrs (config.modules.stylix.enable) {
stylix = switch-theme "dark";
};
lightModeScripts = optionalAttrs (config.modules.darkman.customLightModeScript != null) { lightModeScripts =
custom = config.modules.darkman.customLightModeScript; optionalAttrs (config.modules.darkman.customLightModeScript != null) {
} // optionalAttrs (config.modules.stylix.enable) { custom = config.modules.darkman.customLightModeScript;
stylix = switch-theme "light"; }
}; // optionalAttrs (config.modules.stylix.enable) {
stylix = switch-theme "light";
};
settings.usegeoclue = true; settings.usegeoclue = true;
}; };

View File

@ -1,62 +1,62 @@
{ {
config, config,
lib, lib,
pkgs, pkgs,
inputs, inputs,
... ...
}: }:
{ {
options.modules.stylix = { options.modules.stylix = {
enable = lib.mkEnableOption "Whether to enable Stylix, a theme manager for NixOS"; enable = lib.mkEnableOption "Whether to enable Stylix, a theme manager for NixOS";
setupCursors = lib.mkOption { setupCursors = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = true; default = true;
description = "Whether to setup cursors by default"; description = "Whether to setup cursors by default";
}; };
lightWallpaper = lib.mkOption { lightWallpaper = lib.mkOption {
type = lib.types.path; type = lib.types.path;
description = "Path to light theme desktop wallpaper"; description = "Path to light theme desktop wallpaper";
}; };
darkWallpaper = lib.mkOption { darkWallpaper = lib.mkOption {
type = lib.types.path; type = lib.types.path;
description = "Path to dark theme desktop wallpaper"; description = "Path to dark theme desktop wallpaper";
}; };
}; };
imports = [ imports = [
inputs.stylix.homeManagerModules.stylix inputs.stylix.homeManagerModules.stylix
]; ];
config = lib.mkIf config.modules.stylix.enable {
stylix = {
enable = true;
polarity = lib.mkDefault "light";
image = lib.mkDefault config.modules.stylix.lightWallpaper;
base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
cursor = lib.mkIf config.modules.stylix.setupCursors { config = lib.mkIf config.modules.stylix.enable {
name = "Bibata-Modern-Classic"; stylix = {
package = pkgs.bibata-cursors; enable = true;
size = 24; polarity = lib.mkDefault "light";
};
};
specialisation = { image = lib.mkDefault config.modules.stylix.lightWallpaper;
light.configuration.stylix = { base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
polarity = "light";
image = config.modules.stylix.lightWallpaper;
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave-light.yaml";
};
dark.configuration.stylix = { cursor = lib.mkIf config.modules.stylix.setupCursors {
polarity = "dark"; name = "Bibata-Modern-Classic";
image = config.modules.stylix.darkWallpaper; package = pkgs.bibata-cursors;
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml"; size = 24;
}; };
}; };
};
specialisation = {
light.configuration.stylix = {
polarity = "light";
image = config.modules.stylix.lightWallpaper;
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave-light.yaml";
};
dark.configuration.stylix = {
polarity = "dark";
image = config.modules.stylix.darkWallpaper;
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
};
};
};
} }

View File

@ -7,8 +7,9 @@
}: }:
let let
module = inputs.fingerprint-sensor.nixosModules."06cb-009a-fingerprint-sensor"; module = inputs.fingerprint-sensor.nixosModules."06cb-009a-fingerprint-sensor";
in { in
{
options.modules.fingerprint-fix = { options.modules.fingerprint-fix = {
enable = lib.mkEnableOption "Enable support for fingerprint for P51S-like ThinkPads."; enable = lib.mkEnableOption "Enable support for fingerprint for P51S-like ThinkPads.";
calibDataFile = lib.mkOption { calibDataFile = lib.mkOption {
@ -41,7 +42,7 @@ in {
calib-data-file = config.modules.fingerprint-fix.calibDataFile; calib-data-file = config.modules.fingerprint-fix.calibDataFile;
}; };
security.pam.services.su.fprintAuth = true; security.pam.services.su.fprintAuth = true;
security.pam.services.sudo.fprintAuth = true; security.pam.services.sudo.fprintAuth = true;
security.pam.services.login.fprintAuth = true; security.pam.services.login.fprintAuth = true;
security.pam.services.greetd.fprintAuth = true; security.pam.services.greetd.fprintAuth = true;

View File

@ -4,21 +4,21 @@
options.modules.nvidia.enable = lib.mkEnableOption "Enable NVIDIA kernel and modprobe configurations."; options.modules.nvidia.enable = lib.mkEnableOption "Enable NVIDIA kernel and modprobe configurations.";
config = lib.mkIf config.modules.nvidia.enable { config = lib.mkIf config.modules.nvidia.enable {
hardware.graphics = { hardware.graphics = {
enable = true; enable = true;
}; };
services.xserver.videoDrivers = ["nvidia"]; services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = { hardware.nvidia = {
modesetting.enable = true; modesetting.enable = true;
powerManagement.enable = false; powerManagement.enable = false;
powerManagement.finegrained = false; powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable; open = false;
}; nvidiaSettings = true;
};
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
};
} }

View File

@ -11,25 +11,25 @@ in
inherit username homeDirectory; inherit username homeDirectory;
packages = import ./packages.nix { inherit pkgs inputs; }; packages = import ./packages.nix { inherit pkgs inputs; };
sessionVariables = { sessionVariables = {
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";
TZ = "Europe/Warsaw"; TZ = "Europe/Warsaw";
}; };
}; };
nixpkgs.config = { nixpkgs.config = {
permittedInsecurePackages = [ permittedInsecurePackages = [
"fluffychat-linux-1.26.0" "fluffychat-linux-1.26.0"
"olm-3.2.16" "olm-3.2.16"
]; ];
allowUnfreePredicate = allowUnfreePredicate =
pkg: pkg:
builtins.elem (pkgs.lib.getName pkg) [ builtins.elem (pkgs.lib.getName pkg) [
"davinci-resolve" "davinci-resolve"
"anydesk" "anydesk"
]; ];
}; };
programs.home-manager.enable = true; programs.home-manager.enable = true;
home.stateVersion = "24.11"; home.stateVersion = "24.11";

View File

@ -1,7 +1,7 @@
{ {
webcopy = '' webcopy = ''
set -l domain (string trim $argv) set -l domain (string trim $argv)
get --recursive \ wget --recursive \
--level 5 \ --level 5 \
--no-clobber \ --no-clobber \
--page-requisites \ --page-requisites \
@ -15,18 +15,18 @@
venv = '' venv = ''
if [ -d .venv ]; then if [ -d .venv ]; then
source .venv/bin/activate.fish source .venv/bin/activate.fish
else else
python -m venv .venv python -m venv .venv
source .venv/bin/activate.fish source .venv/bin/activate.fish
fi fi
''; '';
thunderbird = '' thunderbird = ''
if pgrep -x birdtray > /dev/null if pgrep -x birdtray > /dev/null
birdtray -s birdtray -s
else else
birdtray & birdtray &
end end
''; '';
} }

View File

@ -4,13 +4,13 @@
imports = [ imports = [
# DE + style # DE + style
../../modules/desktop-environments/hyprland.nix ../../modules/desktop-environments/hyprland.nix
../../modules/home-manager/apple-style.nix ../../modules/home-manager/apple-style.nix
../../modules/home-manager/stylix.nix ../../modules/home-manager/stylix.nix
# Utilities + apps # Utilities + apps
../../modules/home-manager/darkman.nix ../../modules/home-manager/darkman.nix
../../modules/home-manager/fish.nix ../../modules/home-manager/fish.nix
../../modules/home-manager/ags.nix ../../modules/home-manager/ags.nix
# Home Manager modules # Home Manager modules
inputs.ags.homeManagerModules.default inputs.ags.homeManagerModules.default
@ -41,21 +41,21 @@
}; };
}; };
modules.stylix = { modules.stylix = {
enable = true; enable = true;
lightWallpaper = ./wallpapers/light.jpg; lightWallpaper = ./wallpapers/light.jpg;
darkWallpaper = ./wallpapers/dark.jpg; darkWallpaper = ./wallpapers/dark.jpg;
}; };
stylix.targets.firefox.profileNames = ["default"]; stylix.targets.firefox.profileNames = [ "default" ];
modules.ags = { modules.ags = {
enable = true; enable = true;
full = true; full = true;
}; };
modules.darkman.enable = true; modules.darkman.enable = true;
modules.apple-style.enable = true; modules.apple-style.enable = true;
modules.fish = { modules.fish = {
enable = true; enable = true;
@ -76,12 +76,12 @@
]; ];
}; };
programs.vscode = { programs.vscode = {
enable = true; enable = true;
package = pkgs.vscodium; package = pkgs.vscodium;
profiles.default.extensions = with pkgs.vscode-extensions; [ profiles.default.extensions = with pkgs.vscode-extensions; [
rust-lang.rust-analyzer rust-lang.rust-analyzer
bbenoist.nix bbenoist.nix
]; ];
}; };
} }

View File

@ -1,21 +1,22 @@
{ pkgs, inputs, ... }: { pkgs, inputs, ... }:
with pkgs; [ with pkgs;
[
(python3.withPackages ( (python3.withPackages (
py: with py; [ py: with py; [
pywayland pywayland
] ]
)) ))
(birdtray.overrideAttrs (_: { (birdtray.overrideAttrs (_: {
cmakeFlags = [ "-DOPT_THUNDERBIRD_CMDLINE=${thunderbird}/bin/thunderbird" ]; cmakeFlags = [ "-DOPT_THUNDERBIRD_CMDLINE=${thunderbird}/bin/thunderbird" ];
})) }))
jq jq
starship starship
firefox firefox
fluffychat fluffychat
home-manager home-manager
thunderbird-bin thunderbird-bin
youtube-music youtube-music
libreoffice-qt6-fresh libreoffice-qt6-fresh
@ -31,5 +32,5 @@ with pkgs; [
bitwarden-desktop bitwarden-desktop
davinci-resolve davinci-resolve
mpv mpv
sshfs sshfs
] ]

View File

@ -1,22 +1,25 @@
{ pkgs, android-nixpkgs }: { pkgs, android-nixpkgs }:
let let
android = pkgs.callPackage android-nixpkgs {}; android = pkgs.callPackage android-nixpkgs { };
androidSdk = android.sdk (sdkPkgs: with sdkPkgs; [ androidSdk = android.sdk (
cmdline-tools-latest sdkPkgs: with sdkPkgs; [
build-tools-35-0-0 cmdline-tools-latest
platform-tools build-tools-35-0-0
platforms-android-35 platform-tools
]); platforms-android-35
]
);
in pkgs.mkShell rec { in
pkgs.mkShell rec {
buildInputs = with pkgs; [ buildInputs = with pkgs; [
androidSdk androidSdk
jdk17 jdk17
glibc glibc
]; ];
ANDROID_JAVA_HOME = "${pkgs.jdk17.home}"; ANDROID_JAVA_HOME = "${pkgs.jdk17.home}";
ANDROID_SDK_ROOT = "${androidSdk}/share/android-sdk"; ANDROID_SDK_ROOT = "${androidSdk}/share/android-sdk";
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/35.0.0/aapt2"; GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/35.0.0/aapt2";
} }

View File

@ -45,7 +45,7 @@ pkgs.mkShell {
nativeBuildInputs = [ pkgs.libsForQt5.qt5.wrapQtAppsHook ]; nativeBuildInputs = [ pkgs.libsForQt5.qt5.wrapQtAppsHook ];
shellHook = '' shellHook = ''
wrapQtAppsHook wrapQtAppsHook
mkdir -p $HOME/DDT4ALL mkdir -p $HOME/DDT4ALL
cp -r $src/bin/* $HOME/DDT4ALL cp -r $src/bin/* $HOME/DDT4ALL

View File

@ -3,15 +3,15 @@
pkgs.mkShell { pkgs.mkShell {
buildInputs = with pkgs; [ buildInputs = with pkgs; [
rustc rustc
cargo cargo
rustfmt rustfmt
rust-analyzer rust-analyzer
clippy clippy
gcc gcc
libpqxx libpqxx
postgresql postgresql
]; ];
RUST_BACKTRACE = 1; RUST_BACKTRACE = 1;
RUSTC_BOOTSTRAP = true; RUSTC_BOOTSTRAP = true;
} }