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
|
2024-03-31 10:31:28 +00:00
|
|
|
flakes = lib.filterAttrs (name: value: value ? outputs) inputs;
|
|
|
|
nixRegistry = builtins.mapAttrs (name: v: { flake = v; }) flakes;
|
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 {
|
2024-02-25 17:29:22 +00:00
|
|
|
imports = [ inputs.self.nixosModules.common inputs.home-manager.nixosModule ];
|
2023-12-19 08:36:07 +00:00
|
|
|
|
2024-03-31 10:31:28 +00:00
|
|
|
nix.registry = nixRegistry;
|
|
|
|
|
2023-12-19 08:36:07 +00:00
|
|
|
home-manager.users.ar = {
|
|
|
|
home.username = "ar";
|
|
|
|
home.homeDirectory = "/home/ar";
|
|
|
|
home.stateVersion = config.system.stateVersion;
|
|
|
|
};
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
home-manager.useUserPackages = true;
|
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;
|
|
|
|
};
|
|
|
|
|
2023-12-19 08:36:07 +00:00
|
|
|
home-manager.users.ar.services.easyeffects.enable = true;
|
|
|
|
|
2023-09-18 20:42:25 +00:00
|
|
|
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
|
|
|
|
2024-03-20 10:19:16 +00:00
|
|
|
services.desktopManager.plasma6.enable = true;
|
2024-03-18 18:02:13 +00:00
|
|
|
|
2023-09-18 20:42:25 +00:00
|
|
|
services.xserver = {
|
|
|
|
enable = 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 "";
|
|
|
|
};
|
2024-03-18 18:02:13 +00:00
|
|
|
defaultSession = "plasma";
|
2023-09-18 20:42:25 +00:00
|
|
|
};
|
|
|
|
|
2024-02-20 12:26:03 +00:00
|
|
|
xkb.layout = "pl";
|
|
|
|
xkb.options = "ctrl:nocaps";
|
2023-09-18 20:42:25 +00:00
|
|
|
libinput.enable = true;
|
|
|
|
};
|
|
|
|
|
2023-12-14 12:29:21 +00:00
|
|
|
boot = {
|
|
|
|
loader.timeout = 0;
|
|
|
|
consoleLogLevel = 0;
|
|
|
|
initrd.verbose = false;
|
|
|
|
initrd.systemd.enable = true;
|
|
|
|
plymouth.enable = true;
|
|
|
|
plymouth.theme = "breeze";
|
2023-12-17 02:18:25 +00:00
|
|
|
kernelParams = [
|
|
|
|
"quiet"
|
|
|
|
"splash"
|
|
|
|
"rd.systemd.show_status=false"
|
|
|
|
"rd.udev.log_level=3"
|
|
|
|
"udev.log_priority=3"
|
|
|
|
];
|
2023-12-14 12:29:21 +00:00
|
|
|
};
|
|
|
|
|
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 = {
|
2023-12-30 12:27:58 +00:00
|
|
|
enabled = lib.mkDefault "ibus";
|
2023-09-18 20:42:25 +00:00
|
|
|
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;
|
2024-03-20 11:40:46 +00:00
|
|
|
pinentryPackage = pkgs.pinentry-qt;
|
2023-09-18 20:42:25 +00:00
|
|
|
};
|
|
|
|
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
|
|
|
|
2023-12-17 02:18:25 +00:00
|
|
|
environment.sessionVariables = { MOZ_ENABLE_WAYLAND = "1"; };
|
|
|
|
|
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
|
|
|
|
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
|
|
|
|
|
2024-03-18 15:15:31 +00:00
|
|
|
nixd
|
2023-11-01 17:20:20 +00:00
|
|
|
clang-tools
|
|
|
|
python3Packages.python-lsp-server
|
|
|
|
yaml-language-server
|
|
|
|
|
2023-12-17 02:18:25 +00:00
|
|
|
(signal-desktop.overrideAttrs (old: {
|
|
|
|
preFixup = ''
|
|
|
|
gappsWrapperArgs+=(
|
|
|
|
--add-flags "--enable-features=UseOzonePlatform"
|
|
|
|
--add-flags "--ozone-platform=wayland"
|
|
|
|
)
|
|
|
|
'' + old.preFixup;
|
|
|
|
}))
|
|
|
|
|
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
|
2024-03-18 15:37:24 +00:00
|
|
|
# TODO: investigate later
|
2024-03-18 15:33:51 +00:00
|
|
|
# orca-slicer
|
2024-03-18 15:37:24 +00:00
|
|
|
# super-slicer-beta
|
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
|
|
|
];
|
|
|
|
}
|