Add bluetooth

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-07-04 12:22:55 +03:00
parent 4f3cedefa6
commit a25076c47b
15 changed files with 127 additions and 72 deletions

View File

@@ -0,0 +1,9 @@
{
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General.Experimental = true;
};
};
}

View File

@@ -0,0 +1,19 @@
{ pkgs, ... }:
{
boot = {
loader = {
systemd-boot = {
enable = true;
editor = false;
};
timeout = 1;
efi.canTouchEfiVariables = true;
};
initrd.systemd.enable = true;
kernelPackages = pkgs.linuxPackages_latest;
supportedFilesystems = [ "btrfs" "ntfs" ];
};
}

View File

@@ -0,0 +1,13 @@
{
nix = {
settings = {
use-xdg-base-directories = true;
experimental-features = [ "nix-command" "flakes" ];
};
gc.automatic = true;
optimise.automatic = true;
};
nixpkgs.config.allowUnfree = true;
}

View File

@@ -7,5 +7,11 @@
};
pulse.enable = true;
jack.enable = true;
extraConfig.pipewire-pulse = {
pulse.cmd = [{
cmd = "load-module";
args = "module-switch-on-connect";
}];
};
};
}

View File

@@ -0,0 +1,18 @@
{ inputs, ... }:
{
system = {
autoUpgrade = {
enable = true;
flake = inputs.self.outPath;
flags = [
"--update-input"
"nixpkgs"
"-L"
];
dates = "02:00";
};
stateVersion = "24.05";
};
}

View File

@@ -0,0 +1,12 @@
{ pkgs, ... }:
{
users = {
mutableUsers = false;
defaultUserShell = pkgs.zsh;
};
security.sudo.extraConfig = ''
Defaults lecture = never
'';
}

View File

@@ -1,12 +1,15 @@
{ inputs, pkgs, ... }:
{
imports = [
./configs/boot
./configs/system
./configs/nix
./configs/persist
./configs/sops
./configs/users
./configs/getty
./configs/plymouth
./configs/networkmanager
./configs/networking
./configs/bluetooth
./configs/brightnessctl
./configs/pipewire
./configs/zsh
@@ -23,58 +26,5 @@
./scripts/cleanup
];
boot = {
loader = {
systemd-boot = {
enable = true;
editor = false;
};
timeout = 1;
efi.canTouchEfiVariables = true;
};
initrd.systemd.enable = true;
kernelPackages = pkgs.linuxPackages_latest;
supportedFilesystems = [ "btrfs" "ntfs" ];
};
hardware.graphics.enable32Bit = true;
i18n.defaultLocale = "en_US.UTF-8";
users = {
mutableUsers = false;
defaultUserShell = pkgs.zsh;
};
security.sudo.extraConfig = ''
Defaults lecture = never
'';
system = {
autoUpgrade = {
enable = true;
flake = inputs.self.outPath;
flags = [
"--update-input"
"nixpkgs"
"-L"
];
dates = "02:00";
};
stateVersion = "24.05";
};
nix = {
settings = {
use-xdg-base-directories = true;
experimental-features = [ "nix-command" "flakes" ];
};
gc.automatic = true;
optimise.automatic = true;
};
nixpkgs.config.allowUnfree = true;
}

View File

@@ -29,12 +29,17 @@
};
};
graphics.extraPackages = with pkgs; [
amdvlk
driversi686Linux.amdvlk
rocmPackages.clr
rocmPackages.clr.icd
];
graphics = {
enable32Bit = true;
extraPackages = with pkgs; [
amdvlk
driversi686Linux.amdvlk
rocmPackages.clr
rocmPackages.clr.icd
];
};
enableAllFirmware = true;
};
services = {

View File

@@ -1,4 +1,4 @@
{ config, lib, modulesPath, ... }:
{ lib, modulesPath, ... }:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
@@ -8,7 +8,5 @@
kernelModules = [ "kvm-amd" ];
};
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -1,11 +1,8 @@
{ config, ... }:
{
imports = [
../common
../../users/nick
(import ../../users/nick { autologin = true; })
];
time.timeZone = "Europe/Athens";
services.getty.autologinUser = config.users.users.nick.name;
}

View File

@@ -8,6 +8,5 @@
kernelModules = [ "kvm-amd" ];
};
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View File

@@ -0,0 +1,20 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
{
services.blueman.enable = true;
home-manager.users.${user.name} = {
services.blueman-applet.enable = true;
systemd.user.services.mpris-proxy = {
Unit = {
Description = "MPRIS proxy";
Requires = [ "sound.target" ];
After = [ "network.target" "sound.target" ];
};
Service.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
Intall.WantedBy = [ "default.target" ];
};
};
}

View File

@@ -0,0 +1,5 @@
{ user ? throw "user argument is required" }: { ... }:
{
home-manager.users.${user.name}.services.network-manager-applet.enable = true;
}

View File

@@ -1,4 +1,4 @@
{ config, ... }:
{ autologin ? false}: { config, lib, ... }:
let
user = config.users.users.nick;
@@ -14,6 +14,8 @@ in
(import ../configs/cliphist { inherit user; })
(import ../configs/ags { inherit user; })
(import ../configs/wev { inherit user; })
(import ../configs/networkmanager { inherit user; })
(import ../configs/blueman { inherit user; })
(import ../configs/brightnessctl { inherit user; })
(import ../configs/pavucontrol { inherit user; })
(import ../configs/pipewire { inherit user; })
@@ -28,6 +30,8 @@ in
];
home-manager.users.nick = {
theme.wallpaper = ./wallpapers/cats.jpg;
theme.wallpaper = ./wallpapers/clouds.png;
};
services.getty.autologinUser = lib.mkIf autologin user.name;
}