dotfiles/os/desktop.nix

59 lines
1.6 KiB
Nix
Raw Normal View History

2023-11-22 14:05:48 +01:00
{ pkgs, lib, config, ... }:
2023-10-22 22:27:58 +02:00
{
2023-11-22 14:05:48 +01:00
config = lib.mkIf config.frogeye.desktop.xorg {
# Enable the X11 windowing system
2023-10-22 22:27:58 +02:00
2023-12-16 17:07:44 +01:00
services = {
blueman.enable = true;
xserver = {
enable = true;
windowManager.i3.enable = true;
displayManager.defaultSession = "none+i3";
2023-10-29 00:49:22 +02:00
2023-12-16 17:07:44 +01:00
# Keyboard layout
extraLayouts.qwerty-fr = {
description = "QWERTY-fr";
languages = [ "fr" ];
symbolsFile = "${pkgs.stdenv.mkDerivation {
name = "qwerty-fr-keypad";
src = builtins.fetchGit {
url = "https://github.com/qwerty-fr/qwerty-fr.git";
rev = "3a4d13089e8ef016aa20baf6b2bf3ea53de674b8";
};
patches = [ ./qwerty-fr-keypad.diff ];
# TODO This doesn't seem to be applied... it's the whole point of the derivation :(
installPhase = ''
runHook preInstall
mkdir -p $out/linux
cp $src/linux/us_qwerty-fr $out/linux
runHook postInstall
'';
}}/linux/us_qwerty-fr";
2023-12-16 17:07:44 +01:00
};
layout = "qwerty-fr";
2023-11-22 14:05:48 +01:00
};
};
2023-10-22 22:27:58 +02:00
2023-12-16 17:07:44 +01:00
# Enable sound & bluetooth
2023-11-22 14:05:48 +01:00
sound.enable = true;
2023-12-16 17:07:44 +01:00
hardware = {
bluetooth.enable = true;
pulseaudio.enable = true;
2024-01-12 23:52:53 +01:00
# TODO Try pipewire
2023-12-16 17:07:44 +01:00
};
2023-12-04 22:47:02 +01:00
# UPST
# TODO Find a way to override packages either at NixOS level or HM level depending on what is used
nixpkgs.overlays = [
(final: prev: {
sct = prev.sct.overrideAttrs
(old: {
patches = (old.patches or [ ]) ++ [
./sct_aarch64.patch
];
});
})
];
2023-11-22 14:05:48 +01:00
};
2023-10-22 22:27:58 +02:00
}