install slack

This commit is contained in:
2025-03-11 12:26:41 +01:00
parent 7c969adbf5
commit f814970ded
4 changed files with 102 additions and 3 deletions

82
builds/flutter.nix Normal file
View File

@@ -0,0 +1,82 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.flutter;
androidComposition = pkgs.androidenv.composeAndroidPackages {
toolsVersion = "26.1.1";
platformToolsVersion = "35.0.1";
buildToolsVersions = [
"30.0.3"
"33.0.1"
"34.0.0"
];
platformVersions = [
"31"
"33"
"34"
];
abiVersions = [ "x86_64" ];
includeEmulator = true;
emulatorVersion = "35.1.4";
includeSystemImages = true;
systemImageTypes = [ "google_apis_playstore" ];
includeSources = false;
extraLicenses = [
"android-googletv-license"
"android-sdk-arm-dbt-license"
"android-sdk-license"
"android-sdk-preview-license"
"google-gdk-license"
"intel-android-extra-license"
"intel-android-sysimage-license"
"mips-android-sysimage-license"
];
};
androidSdk = androidComposition.androidsdk;
buildToolsVersion = "33.0.1";
in {
options.programs.flutter = {
enable = mkEnableOption "Flutter development environment";
addToKvmGroup = mkEnableOption "Add user to KVM group for hardware acceleration";
enableAdb = mkEnableOption "Enable ADB and add user to adbusers group";
user = mkOption {
type = types.str;
description = "Username for Flutter development";
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
flutter
androidSdk
# android-studio
jdk17
firebase-tools
];
environment.variables = {
ANDROID_SDK_ROOT = "${androidSdk}/libexec/android-sdk";
ANDROID_HOME = "${androidSdk}/libexec/android-sdk";
JAVA_HOME = "${pkgs.jdk17}";
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${androidSdk}/libexec/android-sdk/build-tools/34.0.0/aapt2";
};
nixpkgs.config = {
android_sdk.accept_license = true;
allowUnfree = true;
};
environment.shellInit = ''
export PATH=$PATH:${androidSdk}/libexec/android-sdk/platform-tools
export PATH=$PATH:${androidSdk}/libexec/android-sdk/cmdline-tools/latest/bin
export PATH=$PATH:${androidSdk}/libexec/android-sdk/emulator
export PATH="$PATH":"$HOME/.pub-cache/bin"
'';
programs.adb.enable = cfg.enableAdb;
users.users.${cfg.user}.extraGroups =
(optional cfg.addToKvmGroup "kvm") ++ (optional cfg.enableAdb "adbusers");
};
}

View File

@@ -17,8 +17,8 @@
}; };
}; };
# Importing necessary setup for Steam. # Importing necessary setup for Steam & Printing & Flutter.
imports = [ ./builds/steam/default.nix ./home/extras/printer.nix ]; imports = [ ./builds/steam/default.nix ./home/extras/printer.nix ./builds/flutter.nix ];
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader = { boot.loader = {
@@ -160,9 +160,20 @@
nixpkgs.config = { nixpkgs.config = {
allowUnfree = true; allowUnfree = true;
permittedInsecurePackages = [ "electron-25.9.0" ]; permittedInsecurePackages = [ "electron-32.3.3" ];
}; };
# Virtualbox
boot.kernelParams = [ "kvm.enable_virt_at_load=0" ];
boot.kernelModules = ["kvm-amd"];
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "user-with-access-to-virtualbox" "kv" ];
virtualisation.virtualbox.host.enableExtensionPack = true;
virtualisation.virtualbox.guest.enable = true;
virtualisation.virtualbox.guest.dragAndDrop = true;
virtualisation.virtualbox.host.enableKvm = true;
virtualisation.virtualbox.host.addNetworkInterface = false;
# Enable zsh for setting it as shell for users. # Enable zsh for setting it as shell for users.
programs.zsh.enable = true; programs.zsh.enable = true;

View File

@@ -27,6 +27,7 @@
./rofi ./rofi
./signal ./signal
./skanlite ./skanlite
./slack
./spotify ./spotify
./stack ./stack
./telegram ./telegram

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ slack ];
}