install slack
This commit is contained in:
82
builds/flutter.nix
Normal file
82
builds/flutter.nix
Normal 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");
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
# Importing necessary setup for Steam.
|
||||
imports = [ ./builds/steam/default.nix ./home/extras/printer.nix ];
|
||||
# Importing necessary setup for Steam & Printing & Flutter.
|
||||
imports = [ ./builds/steam/default.nix ./home/extras/printer.nix ./builds/flutter.nix ];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader = {
|
||||
@@ -160,9 +160,20 @@
|
||||
|
||||
nixpkgs.config = {
|
||||
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.
|
||||
programs.zsh.enable = true;
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
./rofi
|
||||
./signal
|
||||
./skanlite
|
||||
./slack
|
||||
./spotify
|
||||
./stack
|
||||
./telegram
|
||||
|
||||
5
home/programs/slack/default.nix
Normal file
5
home/programs/slack/default.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [ slack ];
|
||||
}
|
||||
Reference in New Issue
Block a user