2023-10-19 22:11:57 +00:00
|
|
|
{ config, lib, pkgs, inputs, ... }:
|
2023-09-18 20:42:25 +00:00
|
|
|
|
2023-11-01 17:20:20 +00:00
|
|
|
let
|
2023-11-01 22:01:37 +00:00
|
|
|
# rfkill block 0; rmmod btusb btintel; systemctl restart bluetooth.service; modprobe btintel; modprobe btusb; systemctl restart bluetooth.service; rfkill unblock 0
|
|
|
|
bt-unfuck = with pkgs;
|
|
|
|
writeScriptBin "bt-unfuck" ''
|
|
|
|
#!${runtimeShell}
|
|
|
|
${util-linux}/bin/rfkill block 0
|
|
|
|
${kmod}/bin/rmmod btusb btintel
|
|
|
|
${systemd}/bin/systemctl restart bluetooth.service
|
|
|
|
for mod in btintel btusb; do
|
|
|
|
${kmod}/bin/modprobe $mod
|
|
|
|
done
|
|
|
|
${systemd}/bin/systemctl restart bluetooth.service
|
|
|
|
${util-linux}/bin/rfkill unblock 0
|
|
|
|
'';
|
|
|
|
in {
|
2023-10-19 22:59:20 +00:00
|
|
|
imports = [ inputs.self.nixosModules.common ];
|
2023-10-19 22:11:57 +00:00
|
|
|
|
2023-09-18 20:42:25 +00:00
|
|
|
boot = {
|
|
|
|
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
|
|
|
extraModprobeConfig = ''
|
|
|
|
options v4l2loopback devices=4 exclusive_caps=1
|
|
|
|
'';
|
|
|
|
kernel.sysctl = { "vm.swappiness" = 160; };
|
|
|
|
};
|
|
|
|
|
|
|
|
zramSwap.enable = true;
|
|
|
|
|
|
|
|
sound.enable = true;
|
|
|
|
security.rtkit.enable = true;
|
|
|
|
services.pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa = {
|
|
|
|
enable = true;
|
|
|
|
support32Bit = true;
|
|
|
|
};
|
|
|
|
jack.enable = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
networking.networkmanager.enable = true;
|
|
|
|
networking.networkmanager.wifi.backend = "wpa_supplicant";
|
2023-10-30 14:31:12 +00:00
|
|
|
systemd.network.wait-online.enable = false;
|
|
|
|
systemd.services.NetworkManager-wait-online.serviceConfig.ExecStart =
|
|
|
|
lib.mkForce [ "" "${pkgs.networkmanager}/bin/nm-online" ];
|
|
|
|
|
2023-09-18 20:42:25 +00:00
|
|
|
hardware.glasgow.enable = true;
|
|
|
|
hardware.nitrokey.enable = true;
|
|
|
|
hardware.steam-hardware.enable = true;
|
|
|
|
hardware.bluetooth = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.bluez;
|
|
|
|
};
|
|
|
|
hardware.opengl = {
|
|
|
|
enable = true;
|
|
|
|
driSupport32Bit = true;
|
|
|
|
};
|
2023-11-01 22:01:37 +00:00
|
|
|
|
2023-11-01 17:20:20 +00:00
|
|
|
security.wrappers.bt-unfuck = {
|
|
|
|
setuid = true;
|
|
|
|
owner = "root";
|
|
|
|
group = "root";
|
|
|
|
source = "${bt-unfuck}/bin/bt-unfuck";
|
|
|
|
};
|
2023-09-18 20:42:25 +00:00
|
|
|
|
|
|
|
services.xserver = {
|
|
|
|
enable = true;
|
|
|
|
desktopManager.plasma5 = {
|
|
|
|
enable = true;
|
|
|
|
runUsingSystemd = true;
|
|
|
|
};
|
|
|
|
displayManager = {
|
|
|
|
sddm = {
|
2023-12-07 22:53:00 +00:00
|
|
|
enable = lib.mkDefault true;
|
2023-12-17 01:24:23 +00:00
|
|
|
wayland.enable = true;
|
2023-09-18 20:42:25 +00:00
|
|
|
settings.Wayland.SessionDir =
|
|
|
|
"/run/current-system/sw/share/wayland-sessions";
|
|
|
|
settings.X11.SessionDir = lib.mkForce "";
|
|
|
|
};
|
|
|
|
defaultSession = "plasmawayland";
|
|
|
|
};
|
|
|
|
|
|
|
|
layout = "pl";
|
|
|
|
xkbOptions = "ctrl:nocaps";
|
|
|
|
libinput.enable = true;
|
|
|
|
};
|
|
|
|
|
2023-12-14 12:29:21 +00:00
|
|
|
services.kmscon = {
|
|
|
|
enable = true;
|
|
|
|
hwRender = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
boot = {
|
|
|
|
loader.timeout = 0;
|
|
|
|
consoleLogLevel = 0;
|
|
|
|
initrd.verbose = false;
|
|
|
|
initrd.systemd.enable = true;
|
|
|
|
plymouth.enable = true;
|
|
|
|
plymouth.theme = "breeze";
|
|
|
|
kernelParams = [ "quiet" "splash" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" ];
|
|
|
|
};
|
|
|
|
|
2023-09-18 20:42:25 +00:00
|
|
|
fonts = {
|
|
|
|
enableDefaultPackages = true;
|
|
|
|
packages = with pkgs; [
|
|
|
|
nerdfonts
|
|
|
|
terminus_font
|
|
|
|
terminus_font_ttf
|
|
|
|
noto-fonts-cjk
|
|
|
|
noto-fonts-emoji
|
|
|
|
noto-fonts-emoji-blob-bin
|
|
|
|
joypixels
|
|
|
|
twemoji-color-font
|
|
|
|
carlito
|
|
|
|
meslo-lgs-nf
|
|
|
|
fira-code
|
|
|
|
fira-code-symbols
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
i18n.inputMethod = {
|
|
|
|
enabled = "ibus";
|
|
|
|
ibus.engines = with pkgs.ibus-engines; [ uniemoji ];
|
|
|
|
};
|
|
|
|
|
|
|
|
services.printing = {
|
|
|
|
enable = true;
|
|
|
|
drivers = with pkgs; [ cups-dymo ];
|
|
|
|
};
|
|
|
|
|
|
|
|
services.avahi = {
|
|
|
|
enable = true;
|
2023-12-14 12:30:30 +00:00
|
|
|
nssmdns4 = true;
|
2023-09-18 20:42:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
services.flatpak.enable = true;
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
gnupg.agent = {
|
|
|
|
enable = true;
|
|
|
|
enableSSHSupport = true;
|
|
|
|
};
|
|
|
|
adb.enable = true;
|
|
|
|
fuse.userAllowOther = true;
|
|
|
|
dconf.enable = true;
|
|
|
|
mosh.enable = true;
|
|
|
|
kdeconnect.enable = true;
|
|
|
|
sway.enable = true;
|
|
|
|
hyprland.enable = true;
|
2023-10-29 14:53:33 +00:00
|
|
|
firefox = {
|
|
|
|
enable = true;
|
2023-10-29 15:26:25 +00:00
|
|
|
#nativeMessagingHosts.packages = with pkgs; [
|
|
|
|
# browserpass
|
|
|
|
# plasma-browser-integration
|
|
|
|
#];
|
2023-10-29 14:53:33 +00:00
|
|
|
};
|
2023-09-18 20:42:25 +00:00
|
|
|
};
|
|
|
|
|
2023-10-30 14:31:12 +00:00
|
|
|
nixpkgs.config = { joypixels.acceptLicense = true; };
|
2023-09-18 20:42:25 +00:00
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
2023-11-27 16:36:01 +00:00
|
|
|
krfb # for kdeconnect virtual display
|
2023-09-18 20:42:25 +00:00
|
|
|
chromium
|
2023-10-29 15:26:25 +00:00
|
|
|
# electrum
|
2023-09-18 20:42:25 +00:00
|
|
|
ffmpeg-full
|
|
|
|
firefox
|
|
|
|
imagemagick
|
|
|
|
inkscape
|
|
|
|
kate
|
|
|
|
keybase-gui
|
|
|
|
kolourpaint
|
|
|
|
nixfmt
|
|
|
|
okular
|
|
|
|
paprefs
|
|
|
|
pavucontrol
|
2023-11-07 16:31:03 +00:00
|
|
|
signal-desktop
|
2023-09-18 20:42:25 +00:00
|
|
|
solvespace
|
|
|
|
spotify
|
|
|
|
youtube-dl
|
|
|
|
morph
|
|
|
|
mpv
|
|
|
|
gphoto2
|
|
|
|
minicom
|
|
|
|
maim
|
|
|
|
thunderbird
|
|
|
|
feh
|
|
|
|
virt-manager
|
|
|
|
cura
|
|
|
|
ncdu
|
|
|
|
nixos-option
|
|
|
|
yt-dlp
|
|
|
|
lsix
|
|
|
|
element-desktop
|
|
|
|
oneko
|
|
|
|
cinny-desktop
|
2023-12-12 13:22:33 +00:00
|
|
|
neochat
|
2023-09-18 20:42:25 +00:00
|
|
|
vagrant
|
|
|
|
vokoscreen-ng
|
|
|
|
appimage-run
|
|
|
|
protonup-ng
|
|
|
|
scrcpy
|
|
|
|
krita
|
|
|
|
vlc
|
|
|
|
# mastodon-update-script
|
|
|
|
libreoffice-qt
|
|
|
|
tokodon
|
|
|
|
|
|
|
|
glasgow
|
|
|
|
freecad
|
|
|
|
|
2023-11-01 22:01:37 +00:00
|
|
|
easyeffects
|
|
|
|
|
2023-10-28 16:22:28 +00:00
|
|
|
rnix-lsp
|
2023-11-01 17:20:20 +00:00
|
|
|
clang-tools
|
|
|
|
python3Packages.python-lsp-server
|
|
|
|
yaml-language-server
|
|
|
|
|
2023-09-18 20:42:25 +00:00
|
|
|
(vscode-with-extensions.override {
|
|
|
|
vscodeExtensions = with vscode-extensions; [
|
|
|
|
bbenoist.nix
|
|
|
|
bierner.emojisense
|
|
|
|
bierner.markdown-checkbox
|
|
|
|
bierner.markdown-emoji
|
|
|
|
bodil.file-browser
|
|
|
|
golang.go
|
|
|
|
ms-vscode.cpptools
|
|
|
|
ms-vscode.cmake-tools
|
|
|
|
ms-vscode.anycode
|
|
|
|
ms-toolsai.jupyter
|
|
|
|
ms-toolsai.jupyter-renderers
|
|
|
|
ms-vscode.makefile-tools
|
|
|
|
redhat.vscode-yaml
|
|
|
|
rust-lang.rust-analyzer
|
|
|
|
shardulm94.trailing-spaces
|
|
|
|
arrterian.nix-env-selector
|
|
|
|
jnoortheen.nix-ide
|
|
|
|
];
|
|
|
|
})
|
|
|
|
|
|
|
|
prusa-slicer
|
2023-10-30 14:31:12 +00:00
|
|
|
|
|
|
|
mastodon-update-script
|
|
|
|
deploy-rs
|
|
|
|
go
|
|
|
|
pry
|
|
|
|
sshfs
|
|
|
|
dig
|
|
|
|
whois
|
|
|
|
cfssl
|
|
|
|
gomuks
|
|
|
|
bind
|
|
|
|
nmap
|
|
|
|
colmena
|
|
|
|
inputs.agenix.packages.${pkgs.system}.default
|
2023-09-18 20:42:25 +00:00
|
|
|
];
|
|
|
|
}
|