mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 08:43:00 +00:00
nix: Add host polder and refractor modules
This commit is contained in:
parent
1b99070718
commit
3756bbfb45
38 changed files with 284 additions and 172 deletions
51
nixcfgs/modules/nixos/desktop/default.nix
Normal file
51
nixcfgs/modules/nixos/desktop/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{...}: {
|
||||
|
||||
imports = [
|
||||
../rime.nix
|
||||
../fonts.nix
|
||||
];
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/London";
|
||||
|
||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb.layout = "us";
|
||||
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
||||
security.pam.services.login.enableGnomeKeyring = true;
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput.enable = true;
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# console = {
|
||||
# font = "Lat2-Terminus16";
|
||||
# keyMap = "us";
|
||||
# useXkbConfig = true; # use xkb.options in tty.
|
||||
# };
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
wl-clipboard
|
||||
];
|
||||
}
|
||||
8
nixcfgs/modules/nixos/desktop/dm/gdm.nix
Normal file
8
nixcfgs/modules/nixos/desktop/dm/gdm.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
services.displayManager.gdm = {
|
||||
enable = true;
|
||||
wayland = true;
|
||||
};
|
||||
}
|
||||
3
nixcfgs/modules/nixos/desktop/dm/ly.nix
Normal file
3
nixcfgs/modules/nixos/desktop/dm/ly.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{...}: {
|
||||
services.displayManager.ly.enable = true;
|
||||
}
|
||||
34
nixcfgs/modules/nixos/desktop/dm/sddm.nix
Normal file
34
nixcfgs/modules/nixos/desktop/dm/sddm.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{pkgs, ...}:
|
||||
|
||||
# See https://www.reddit.com/r/NixOS/comments/1kcj34p/how_to_apply_this_sddm_theme_on_nixos/
|
||||
let
|
||||
custom-sddm-astronaut = pkgs.sddm-astronaut.override {
|
||||
embeddedTheme = "astronaut";
|
||||
#themeConfig = {
|
||||
# Background = "path/to/background.jpg";
|
||||
# Font = "M+1 Nerd Font";
|
||||
#};
|
||||
};
|
||||
|
||||
in {
|
||||
# Enable the KDE Plasma Desktop Environment.
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
custom-sddm-astronaut
|
||||
];
|
||||
|
||||
theme = "sddm-astronaut-theme";
|
||||
settings = {
|
||||
Theme = {
|
||||
Current = "sddm-astronaut-theme";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
custom-sddm-astronaut
|
||||
kdePackages.qtmultimedia
|
||||
];
|
||||
|
||||
}
|
||||
68
nixcfgs/modules/nixos/desktop/fonts.nix
Normal file
68
nixcfgs/modules/nixos/desktop/fonts.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{pkgs, ...}: let
|
||||
fontPkgs = [
|
||||
pkgs.maple-mono.NF
|
||||
pkgs.sarasa-gothic
|
||||
pkgs.lxgw-wenkai
|
||||
pkgs.lxgw-neoxihei
|
||||
pkgs.noto-fonts-cjk-sans
|
||||
pkgs.noto-fonts
|
||||
pkgs.noto-fonts-emoji
|
||||
pkgs.nerd-fonts.jetbrains-mono
|
||||
];
|
||||
in {
|
||||
environment.systemPackages = fontPkgs;
|
||||
|
||||
fonts = {
|
||||
enableDefaultPackages = true;
|
||||
packages = fontPkgs;
|
||||
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
monospace = [
|
||||
"Maple Mono NF"
|
||||
"JetBrainsMono Nerd Font"
|
||||
];
|
||||
serif = ["LXGW WenKai"];
|
||||
sansSerif = ["LXGW Neo XiHei"];
|
||||
};
|
||||
};
|
||||
fontDir.enable = true;
|
||||
};
|
||||
|
||||
system.fsPackages = [pkgs.bindfs];
|
||||
fileSystems = let
|
||||
mkRoSymBind = path: {
|
||||
device = path;
|
||||
fsType = "fuse.bindfs";
|
||||
options = [
|
||||
"ro"
|
||||
"resolve-symlinks"
|
||||
"x-gvfs-hide"
|
||||
];
|
||||
};
|
||||
aggregated = pkgs.buildEnv {
|
||||
name = "system-fonts-and-icons";
|
||||
paths =
|
||||
fontPkgs
|
||||
++ [
|
||||
# Add cursor supports
|
||||
pkgs.kdePackages.breeze
|
||||
]; # with pkgs; [
|
||||
# libsForQt5.breeze-qt5
|
||||
|
||||
# noto-fonts
|
||||
# noto-fonts-emoji
|
||||
# noto-fonts-cjk-sans
|
||||
# noto-fonts-cjk-serif
|
||||
# ];
|
||||
pathsToLink = [
|
||||
"/share/fonts"
|
||||
"/share/icons"
|
||||
];
|
||||
};
|
||||
in {
|
||||
"/usr/share/icons" = mkRoSymBind "${aggregated}/share/icons";
|
||||
"/usr/share/fonts" = mkRoSymBind "${aggregated}/share/fonts";
|
||||
};
|
||||
}
|
||||
13
nixcfgs/modules/nixos/desktop/gnome-keyring.nix
Normal file
13
nixcfgs/modules/nixos/desktop/gnome-keyring.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{pkgs, ...}: {
|
||||
programs.gnupg.agent.enableSSHSupport = false;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
services.gnome.gcr-ssh-agent.enable = true;
|
||||
programs.seahorse.enable = true;
|
||||
programs.ssh = {
|
||||
enableAskPassword = true;
|
||||
askPassword = "${pkgs.seahorse}/libexec/seahorse/askpass";
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
seahorse
|
||||
];
|
||||
}
|
||||
13
nixcfgs/modules/nixos/desktop/host-machine.nix
Normal file
13
nixcfgs/modules/nixos/desktop/host-machine.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
pciutils
|
||||
usbutils
|
||||
smartmontools
|
||||
v4l-utils
|
||||
];
|
||||
}
|
||||
9
nixcfgs/modules/nixos/desktop/laptop.nix
Normal file
9
nixcfgs/modules/nixos/desktop/laptop.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
powertop
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
30
nixcfgs/modules/nixos/desktop/libvirt.nix
Normal file
30
nixcfgs/modules/nixos/desktop/libvirt.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
virt-manager
|
||||
dnsmasq
|
||||
virtiofsd
|
||||
];
|
||||
programs.virt-manager.enable = true;
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
qemu = {
|
||||
package = pkgs.qemu_kvm;
|
||||
runAsRoot = true;
|
||||
swtpm.enable = true;
|
||||
# ovmf = {
|
||||
# enable = true;
|
||||
# packages = [
|
||||
# (pkgs.OVMF.override {
|
||||
# secureBoot = true;
|
||||
# tpmSupport = true;
|
||||
# }).fd
|
||||
# ];
|
||||
# };
|
||||
};
|
||||
};
|
||||
users.users.js0ny = {
|
||||
extraGroups = ["libvirtd"];
|
||||
};
|
||||
networking.firewall.trustedInterfaces = ["virbr0"];
|
||||
virtualisation.spiceUSBRedirection.enable = true;
|
||||
}
|
||||
26
nixcfgs/modules/nixos/desktop/rime.nix
Normal file
26
nixcfgs/modules/nixos/desktop/rime.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{pkgs, ...}: {
|
||||
# environment.variables = {
|
||||
# GTK_IM_MODULE = "fcitx";
|
||||
# QT_IM_MODULE = "fcitx";
|
||||
# XMODIFIERS = "@im=fcitx";
|
||||
# INPUT_METHOD = "fcitx";
|
||||
# };
|
||||
i18n.inputMethod = {
|
||||
enable = true;
|
||||
# enabled = "fcitx5"; dep.
|
||||
enableGtk2 = true;
|
||||
enableGtk3 = true;
|
||||
type = "fcitx5";
|
||||
fcitx5 = {
|
||||
waylandFrontend = true;
|
||||
# plasma6Support = true;
|
||||
addons = with pkgs; [
|
||||
fcitx5-rime
|
||||
kdePackages.fcitx5-configtool
|
||||
kdePackages.fcitx5-qt
|
||||
fcitx5-gtk
|
||||
fcitx5-lua
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
11
nixcfgs/modules/nixos/desktop/steam.nix
Normal file
11
nixcfgs/modules/nixos/desktop/steam.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{pkgs, ...}: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
fontPackages = with pkgs; [
|
||||
lxgw-neoxihei
|
||||
];
|
||||
};
|
||||
}
|
||||
22
nixcfgs/modules/nixos/desktop/waydroid.nix
Normal file
22
nixcfgs/modules/nixos/desktop/waydroid.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
virtualisation.waydroid.enable = true;
|
||||
nixpkgs.overlays = [
|
||||
inputs.nur.overlays.default
|
||||
];
|
||||
# waydroid-script: Tool to install libhoudini (arm support), magisk, ...
|
||||
# usage: sudo waydroid-script
|
||||
environment.systemPackages = with pkgs; [
|
||||
nur.repos.ataraxiasjel.waydroid-script
|
||||
waydroid-helper
|
||||
];
|
||||
systemd = {
|
||||
packages = [ pkgs.waydroid-helper ];
|
||||
services.waydroid-mount = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.waydroid-helper}/bin/waydroid-helper --start-mount";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
5
nixcfgs/modules/nixos/desktop/winboat.nix
Normal file
5
nixcfgs/modules/nixos/desktop/winboat.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{inputs, ...}: {
|
||||
environment.systemPackages = [
|
||||
inputs.winboat
|
||||
];
|
||||
}
|
||||
8
nixcfgs/modules/nixos/desktop/wine.nix
Normal file
8
nixcfgs/modules/nixos/desktop/wine.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# https://nixos.wiki/wiki/Wine
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
wineWowPackages.stable
|
||||
winetricks
|
||||
wineWowPackages.waylandFull
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue