Compare commits
No commits in common. "master" and "3fdda46bdd1e84dce0066cfbf4822aed9e24773e" have entirely different histories.
master
...
3fdda46bdd
@ -8,7 +8,6 @@ in
|
|||||||
[
|
[
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
./common-headless.nix
|
./common-headless.nix
|
||||||
./tailscale.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.supportedFilesystems = ["zfs"];
|
boot.supportedFilesystems = ["zfs"];
|
||||||
@ -40,7 +39,6 @@ in
|
|||||||
|
|
||||||
nilotica = {
|
nilotica = {
|
||||||
group = "nilotica";
|
group = "nilotica";
|
||||||
isNormalUser = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
transmission = {
|
transmission = {
|
||||||
@ -135,7 +133,7 @@ in
|
|||||||
ipv6.routes = [ { address = "::"; prefixLength = 0; } ];
|
ipv6.routes = [ { address = "::"; prefixLength = 0; } ];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ wireguard-tools ];
|
environment.systemPackages = with pkgs; [ wireguard ];
|
||||||
};
|
};
|
||||||
|
|
||||||
privateNetwork = true;
|
privateNetwork = true;
|
||||||
@ -212,7 +210,7 @@ in
|
|||||||
|
|
||||||
services.rsyncd = {
|
services.rsyncd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
modules = {
|
||||||
lr_mobile = {
|
lr_mobile = {
|
||||||
path = "/mnt/aplysia/fotos/lr_mobile";
|
path = "/mnt/aplysia/fotos/lr_mobile";
|
||||||
"read only" = "yes";
|
"read only" = "yes";
|
||||||
|
@ -37,7 +37,12 @@
|
|||||||
|
|
||||||
hardware.cpu.intel.updateMicrocode = true;
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
|
|
||||||
networking.interfaces."enp3s0".wakeOnLan.enable = true;
|
services.wakeonlan.interfaces = [
|
||||||
|
{
|
||||||
|
interface = "enp3s0";
|
||||||
|
method = "magicpacket";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# services.xserver.displayManager.defaultSession = pkgs.lib.mkForce "sway";
|
# services.xserver.displayManager.defaultSession = pkgs.lib.mkForce "sway";
|
||||||
#
|
#
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
lua
|
lua
|
||||||
perl
|
perl
|
||||||
gdb
|
gdb
|
||||||
bind nmap tcpdump (pkgs.inetutils or telnet)
|
bind nmap tcpdump telnet
|
||||||
usbutils
|
usbutils
|
||||||
dstat
|
dstat
|
||||||
which
|
which
|
||||||
@ -37,12 +37,11 @@
|
|||||||
links2
|
links2
|
||||||
ctags
|
ctags
|
||||||
nix-prefetch-scripts
|
nix-prefetch-scripts
|
||||||
(pkgs.wireguard-tools or pkgs.wireguard or pkgs.hello)
|
(pkgs.wireguard or pkgs.hello)
|
||||||
jq
|
jq
|
||||||
#b2sum
|
#b2sum
|
||||||
strace
|
strace
|
||||||
ncdu
|
ncdu
|
||||||
hyperfine
|
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.variables.EDITOR = "${pkgs.neovim}/bin/nvim";
|
environment.variables.EDITOR = "${pkgs.neovim}/bin/nvim";
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./pipewire.nix
|
./pulseaudio.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
i18n.inputMethod = {
|
i18n.inputMethod = {
|
||||||
enabled = "fcitx5";
|
enabled = "fcitx";
|
||||||
fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-table-other fcitx5-m17n fcitx5-rime rime-data ];
|
fcitx.engines = with pkgs.fcitx-engines; [ mozc anthy table-other m17n ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
@ -18,17 +18,17 @@
|
|||||||
fonts = with pkgs; [
|
fonts = with pkgs; [
|
||||||
# xorg.fontbhlucidatypewriter100dpi
|
# xorg.fontbhlucidatypewriter100dpi
|
||||||
# xorg.fontbhlucidatypewriter75dpi
|
# xorg.fontbhlucidatypewriter75dpi
|
||||||
# freefont_ttf
|
freefont_ttf
|
||||||
gyre-fonts # TrueType substitutes for standard PostScript fonts
|
gyre-fonts # TrueType substitutes for standard PostScript fonts
|
||||||
# xorg.fontbh100dpi
|
# xorg.fontbh100dpi
|
||||||
# xorg.fontmiscmisc
|
xorg.fontmiscmisc
|
||||||
# xorg.fontcursormisc
|
xorg.fontcursormisc
|
||||||
unifont
|
unifont
|
||||||
|
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
|
|
||||||
cantarell-fonts # from gnome3 module
|
cantarell_fonts # from gnome3 module
|
||||||
|
|
||||||
merriweather
|
merriweather
|
||||||
merriweather-sans
|
merriweather-sans
|
||||||
@ -46,10 +46,9 @@
|
|||||||
source-han-sans
|
source-han-sans
|
||||||
|
|
||||||
inconsolata
|
inconsolata
|
||||||
# iosevka
|
iosevka
|
||||||
fira fira-mono fira-code
|
fira fira-mono fira-code
|
||||||
source-code-pro
|
source-code-pro
|
||||||
stix-two
|
|
||||||
|
|
||||||
font-awesome_5
|
font-awesome_5
|
||||||
];
|
];
|
||||||
@ -64,17 +63,15 @@
|
|||||||
|
|
||||||
libinput
|
libinput
|
||||||
libnotify
|
libnotify
|
||||||
|
|
||||||
gsettings-desktop-schemas
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# prevent satanic torture
|
# prevent satanic torture
|
||||||
qt.platformTheme = "qt5ct";
|
programs.qt5ct.enable = true;
|
||||||
|
|
||||||
hardware.uinput.enable = true;
|
hardware.uinput.enable = true;
|
||||||
users.extraUsers.gebner.extraGroups = [ "input" "tty" "audio" "video" "uinput" ];
|
users.extraUsers.gebner.extraGroups = [ "input" "tty" "audio" "video" "uinput" ];
|
||||||
|
|
||||||
services.dbus.packages = with pkgs; [ gcr ];
|
services.dbus.packages = with pkgs; [ gnome3.gcr ];
|
||||||
services.udev.packages = [ pkgs.gnome3.gnome-settings-daemon ];
|
services.udev.packages = [ pkgs.gnome3.gnome-settings-daemon ];
|
||||||
|
|
||||||
# copied from gnome3 module
|
# copied from gnome3 module
|
||||||
@ -82,17 +79,16 @@
|
|||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
services.accounts-daemon.enable = true;
|
services.accounts-daemon.enable = true;
|
||||||
services.geoclue2.enable = true;
|
services.geoclue2.enable = true;
|
||||||
services.gnome.at-spi2-core.enable = true;
|
services.gnome3.at-spi2-core.enable = true;
|
||||||
services.gnome.gnome-keyring.enable = true;
|
services.gnome3.gnome-keyring.enable = true;
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
programs.seahorse.enable = true;
|
programs.seahorse.enable = true;
|
||||||
services.gnome.sushi.enable = true;
|
services.gnome3.sushi.enable = true;
|
||||||
services.gnome.gnome-settings-daemon.enable = true;
|
services.gnome3.gnome-settings-daemon.enable = true;
|
||||||
services.telepathy.enable = true;
|
services.telepathy.enable = true;
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
services.upower.enable = config.powerManagement.enable;
|
services.upower.enable = config.powerManagement.enable;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
services.gnome.glib-networking.enable = true;
|
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -100,6 +96,10 @@
|
|||||||
};
|
};
|
||||||
# Needed for themes and backgrounds
|
# Needed for themes and backgrounds
|
||||||
environment.pathsToLink = [ "/share" ];
|
environment.pathsToLink = [ "/share" ];
|
||||||
|
environment.variables.GIO_EXTRA_MODULES = with pkgs.gnome3; [
|
||||||
|
"${pkgs.lib.getLib dconf}/lib/gio/modules"
|
||||||
|
"${glib_networking.out}/lib/gio/modules"
|
||||||
|
"${gvfs}/lib/gio/modules" ];
|
||||||
|
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -9,11 +9,9 @@
|
|||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
nix.settings = {
|
nix.useSandbox = true;
|
||||||
sandbox = true;
|
nix.binaryCaches = [ https://cache.nixos.org ];
|
||||||
substituters = [ "https://cache.nixos.org" ];
|
nix.trustedBinaryCaches = [ https://cache.nixos.org ];
|
||||||
trusted-substituters = [ "https://cache.nixos.org" ];
|
|
||||||
};
|
|
||||||
nix.extraOptions = ''
|
nix.extraOptions = ''
|
||||||
auto-optimise-store = true
|
auto-optimise-store = true
|
||||||
binary-caches-parallel-connections = 10
|
binary-caches-parallel-connections = 10
|
||||||
@ -27,8 +25,8 @@
|
|||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.PermitRootLogin = "no";
|
permitRootLogin = "no";
|
||||||
settings.PasswordAuthentication = false;
|
passwordAuthentication = false;
|
||||||
};
|
};
|
||||||
programs.ssh.startAgent = false;
|
programs.ssh.startAgent = false;
|
||||||
|
|
||||||
@ -45,23 +43,10 @@
|
|||||||
dockerCompat = true;
|
dockerCompat = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.containers.containersConf.settings = {
|
|
||||||
engine = {
|
|
||||||
cgroup_manager = "cgroupfs";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.containers = {
|
|
||||||
registries.search = [ "docker.io" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.lxd.enable = true;
|
virtualisation.lxd.enable = true;
|
||||||
virtualisation.lxd.recommendedSysctlSettings = true;
|
virtualisation.lxd.recommendedSysctlSettings = true;
|
||||||
virtualisation.lxd.package = pkgs.lxd;
|
|
||||||
virtualisation.lxc.lxcfs.enable = true;
|
virtualisation.lxc.lxcfs.enable = true;
|
||||||
|
|
||||||
systemd.enableUnifiedCgroupHierarchy = pkgs.lib.mkForce true;
|
|
||||||
|
|
||||||
boot.kernel.sysctl = {
|
boot.kernel.sysctl = {
|
||||||
"kernel.perf_event_paranoid" = "0";
|
"kernel.perf_event_paranoid" = "0";
|
||||||
"kernel.kptr_restrict" = pkgs.lib.mkForce "0";
|
"kernel.kptr_restrict" = pkgs.lib.mkForce "0";
|
||||||
@ -85,7 +70,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/aplysia" = {
|
fileSystems."/mnt/aplysia" = {
|
||||||
device = "//aplysia.htdf.gebner.org/export";
|
device = "//aplysia.ams.gebner.org/export";
|
||||||
fsType = "cifs";
|
fsType = "cifs";
|
||||||
options = [ "noauto" "x-systemd.automount" "credentials=/etc/smbcredentials/aplysia" "vers=1.0" ];
|
options = [ "noauto" "x-systemd.automount" "credentials=/etc/smbcredentials/aplysia" "vers=1.0" ];
|
||||||
};
|
};
|
||||||
@ -125,14 +110,13 @@
|
|||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
extraLocaleSettings = {
|
extraLocaleSettings = {
|
||||||
# LC_TIME = "en_GB.UTF-8";
|
# LC_TIME = "en_GB.UTF-8";
|
||||||
# LC_PAPER = "de_AT.UTF-8";
|
LC_PAPER = "de_AT.UTF-8";
|
||||||
};
|
};
|
||||||
supportedLocales = [ "all" ]; # https://github.com/NixOS/nixpkgs/pull/177318
|
|
||||||
};
|
};
|
||||||
|
|
||||||
system.fsPackages = with pkgs; [
|
system.fsPackages = with pkgs; [
|
||||||
ntfs3g
|
ntfs3g
|
||||||
exfatprogs
|
exfat
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,18 +2,17 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./fix-firefox.nix
|
# ./fix-firefox.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs.haskellPackages; with pkgs; [
|
environment.systemPackages = with pkgs.haskellPackages; with pkgs; [
|
||||||
gmpc
|
gmpc
|
||||||
mpdevil
|
|
||||||
m4
|
m4
|
||||||
(pkgs.openjdk or pkgs.openjdk14 or pkgs.openjdk12 or pkgs.openjdk11 or pkgs.openjdk10 or openjdk8)
|
(pkgs.openjdk or pkgs.openjdk14 or pkgs.openjdk12 or pkgs.openjdk11 or pkgs.openjdk10 or openjdk8)
|
||||||
sbt scala
|
sbt scala
|
||||||
ungoogled-chromium
|
ungoogled-chromium
|
||||||
# chromium
|
# chromium
|
||||||
firefox
|
# firefox
|
||||||
qalculate-gtk
|
qalculate-gtk
|
||||||
libqalculate
|
libqalculate
|
||||||
viewnior
|
viewnior
|
||||||
@ -34,7 +33,7 @@
|
|||||||
ripgrep
|
ripgrep
|
||||||
imagemagick
|
imagemagick
|
||||||
mercurial
|
mercurial
|
||||||
(pkgs.man-pages or manpages)
|
manpages
|
||||||
|
|
||||||
dfeet
|
dfeet
|
||||||
|
|
||||||
@ -54,7 +53,6 @@
|
|||||||
lsof
|
lsof
|
||||||
|
|
||||||
pdfpc
|
pdfpc
|
||||||
poppler_utils
|
|
||||||
|
|
||||||
# emacs
|
# emacs
|
||||||
emacs
|
emacs
|
||||||
@ -71,7 +69,6 @@
|
|||||||
|
|
||||||
rclone
|
rclone
|
||||||
duplicity
|
duplicity
|
||||||
restic
|
|
||||||
magic-wormhole
|
magic-wormhole
|
||||||
|
|
||||||
linuxPackages.perf
|
linuxPackages.perf
|
||||||
@ -84,7 +81,6 @@
|
|||||||
glucose
|
glucose
|
||||||
prover9
|
prover9
|
||||||
eprover
|
eprover
|
||||||
vampire
|
|
||||||
metis-prover
|
metis-prover
|
||||||
spass
|
spass
|
||||||
z3
|
z3
|
||||||
@ -98,14 +94,9 @@
|
|||||||
|
|
||||||
nixpkgs.config.allowTexliveBuilds = true;
|
nixpkgs.config.allowTexliveBuilds = true;
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
nixpkgs.config.allowUnfreePredicate = (pkg: true);
|
|
||||||
nixpkgs.config.android_sdk.accept_license = true;
|
nixpkgs.config.android_sdk.accept_license = true;
|
||||||
|
|
||||||
programs.adb.enable = true;
|
programs.adb.enable = true;
|
||||||
users.extraUsers.gebner.extraGroups = [ "adbusers" ];
|
users.extraUsers.gebner.extraGroups = [ "adbusers" ];
|
||||||
|
|
||||||
nixpkgs.config.packageOverrides = pkgs: with pkgs; {
|
|
||||||
khal = pkgs.khal.overridePythonAttrs (_: { doCheck = false; });
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
./common-headless.nix
|
./common-headless.nix
|
||||||
# ./i3.nix
|
|
||||||
./sway.nix
|
./sway.nix
|
||||||
./large-sw.nix
|
./large-sw.nix
|
||||||
./uefi.nix
|
./uefi.nix
|
||||||
@ -35,7 +34,7 @@
|
|||||||
# { device = "/dev/disk/by-uuid/b7274abd-58a5-4acc-8481-30e105e94eec"; }
|
# { device = "/dev/disk/by-uuid/b7274abd-58a5-4acc-8481-30e105e94eec"; }
|
||||||
#];
|
#];
|
||||||
|
|
||||||
nix.settings.max-jobs = pkgs.lib.mkDefault 6;
|
nix.maxJobs = pkgs.lib.mkDefault 6;
|
||||||
powerManagement.cpuFreqGovernor = pkgs.lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = pkgs.lib.mkDefault "powersave";
|
||||||
|
|
||||||
environment.etc."lvm/lvm.conf".text = ''
|
environment.etc."lvm/lvm.conf".text = ''
|
||||||
@ -106,9 +105,9 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# services.xserver = {
|
services.xserver = {
|
||||||
# videoDrivers = [ "intel" ];
|
videoDrivers = [ "intel" ];
|
||||||
# };
|
};
|
||||||
|
|
||||||
fonts.fontconfig = {
|
fonts.fontconfig = {
|
||||||
subpixel.rgba = "none";
|
subpixel.rgba = "none";
|
||||||
|
77
euhadra.nix
77
euhadra.nix
@ -6,11 +6,9 @@ let mpdStreamingPort = 8080; in
|
|||||||
[
|
[
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
./common-headless.nix
|
./common-headless.nix
|
||||||
./sway.nix
|
./i3.nix
|
||||||
./uefi.nix
|
./uefi.nix
|
||||||
./fstrim.nix
|
./fstrim.nix
|
||||||
# ./nebula.nix
|
|
||||||
./tailscale.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.etc."lvm/lvm.conf".text = ''
|
environment.etc."lvm/lvm.conf".text = ''
|
||||||
@ -18,13 +16,14 @@ let mpdStreamingPort = 8080; in
|
|||||||
issue_discards = 1
|
issue_discards = 1
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
boot.initrd.luks.devices = {
|
boot.initrd.luks.devices = [
|
||||||
euhadra_crypt = {
|
{
|
||||||
|
name = "euhadra_crypt";
|
||||||
device = "/dev/disk/by-uuid/328a9ede-0958-490b-8e82-62b06b839e21";
|
device = "/dev/disk/by-uuid/328a9ede-0958-490b-8e82-62b06b839e21";
|
||||||
preLVM = true;
|
preLVM = true;
|
||||||
allowDiscards = true;
|
allowDiscards = true;
|
||||||
};
|
}
|
||||||
};
|
];
|
||||||
|
|
||||||
networking.hostName = "euhadra";
|
networking.hostName = "euhadra";
|
||||||
networking.hostId = "ddb5f0fd";
|
networking.hostId = "ddb5f0fd";
|
||||||
@ -33,12 +32,9 @@ let mpdStreamingPort = 8080; in
|
|||||||
|
|
||||||
services.mpd = {
|
services.mpd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# network.listenAddress = "127.0.0.1";
|
network.listenAddress = "any";
|
||||||
musicDirectory = "/mnt/aplysia/music";
|
musicDirectory = "/mnt/aplysia/music";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
bind_to_address "10.59.0.6"
|
|
||||||
bind_to_address "100.97.134.100"
|
|
||||||
|
|
||||||
# audio_output {
|
# audio_output {
|
||||||
# type "alsa"
|
# type "alsa"
|
||||||
# name "dac"
|
# name "dac"
|
||||||
@ -48,7 +44,6 @@ let mpdStreamingPort = 8080; in
|
|||||||
audio_output {
|
audio_output {
|
||||||
type "pulse"
|
type "pulse"
|
||||||
name "pulse"
|
name "pulse"
|
||||||
server "127.0.0.1"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
audio_output {
|
audio_output {
|
||||||
@ -63,39 +58,6 @@ let mpdStreamingPort = 8080; in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
services.pipewire = {
|
|
||||||
config.pipewire-pulse = {
|
|
||||||
"pulse.properties"."server.address" = [
|
|
||||||
"unix:native"
|
|
||||||
"tcp:127.0.0.1:4713"
|
|
||||||
"tcp:100.97.134.100:4713"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.wireguard.interfaces.wg0 = {
|
|
||||||
ips = ["10.59.0.6/16"];
|
|
||||||
privateKeyFile = "/etc/wgkeys/euhadra";
|
|
||||||
allowedIPsAsRoutes = true;
|
|
||||||
postSetup = ''
|
|
||||||
${pkgs.systemd}/bin/resolvectl domain wg0 '~htdf.gebner.org' '~mtlaa.gebner.org' '~ams.gebner.org'
|
|
||||||
${pkgs.systemd}/bin/resolvectl dns wg0 10.58.0.1
|
|
||||||
'';
|
|
||||||
peers = [{
|
|
||||||
publicKey = "ByLlJbevlTBooAo2RIZGGJvBHKqA9qiOpHBvR5yuJX4=";
|
|
||||||
allowedIPs = ["10.56.0.0/14" "10.60.1.1"];
|
|
||||||
endpoint = "htdf-gw.gebner.org:35869";
|
|
||||||
# endpoint = "80.109.29.104:35869";
|
|
||||||
# endpoint = "127.0.0.1:35869";
|
|
||||||
}];
|
|
||||||
};
|
|
||||||
# systemd.services.wireguard-wg0.wantedBy = pkgs.lib.mkOverride 10 [];
|
|
||||||
|
|
||||||
services.resolved = {
|
|
||||||
domains = [];
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
config.services.mpd.network.port
|
config.services.mpd.network.port
|
||||||
4713 # pulseaudio
|
4713 # pulseaudio
|
||||||
@ -108,19 +70,16 @@ let mpdStreamingPort = 8080; in
|
|||||||
|
|
||||||
nixpkgs.config.mpv.vaapiSupport = true;
|
nixpkgs.config.mpv.vaapiSupport = true;
|
||||||
|
|
||||||
# hardware.pulseaudio = {
|
hardware.pulseaudio = {
|
||||||
# systemWide = true;
|
systemWide = true;
|
||||||
# zeroconf.publish.enable = true;
|
zeroconf.publish.enable = true;
|
||||||
# tcp = {
|
tcp = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# anonymousClients.allowedIpRanges = [
|
anonymousClients.allowedIpRanges = [
|
||||||
# "127.0.0.1"
|
"127.0.0.1"
|
||||||
# "10.57.0.0/16"
|
"10.57.0.0/16"
|
||||||
# ];
|
];
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
|
|
||||||
system.stateVersion = "22.05";
|
|
||||||
|
|
||||||
time.timeZone = pkgs.lib.mkOverride 10 "US/Pacific";
|
|
||||||
}
|
}
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
f=localization/en-US/browser/browserSets.ftl
|
f=localization/en-US/browser/browserSets.ftl
|
||||||
mkdir browser
|
mkdir browser
|
||||||
cd browser
|
cd browser
|
||||||
# corrupt zip files??
|
unzip $j
|
||||||
unzip $j || true
|
|
||||||
patch $f <${./fix-firefox.patch}
|
patch $f <${./fix-firefox.patch}
|
||||||
rm $j
|
rm $j
|
||||||
zip -0DXqr $j *
|
zip -0DXqr $j *
|
||||||
@ -29,7 +28,7 @@
|
|||||||
inherit (firefox-unwrapped) meta;
|
inherit (firefox-unwrapped) meta;
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit (firefox-unwrapped.passthru) version isFirefox3Like gtk
|
inherit (firefox-unwrapped.passthru) version isFirefox3Like gtk
|
||||||
nspr gssSupport browserName ffmpegSupport gtk3 binaryName;
|
nspr gssSupport browserName ffmpegSupport gtk3;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
98
flake.lock
98
flake.lock
@ -1,12 +1,28 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1606424373,
|
||||||
|
"narHash": "sha256-oq8d4//CJOrVj+EcOaSXvMebvuTkmBJuT5tzlfewUnQ=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "99f1c2157fba4bfe6211a321fd0ee43199025dbf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1638122382,
|
"lastModified": 1610051610,
|
||||||
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=",
|
"narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b",
|
"rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -15,13 +31,73 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1618217525,
|
||||||
|
"narHash": "sha256-WGrhVczjXTiswQaoxQ+0PTfbLNeOQM6M36zvLn78AYg=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "c6169a2772643c4a93a0b5ac1c61e296cba68544",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neovim-flake": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"dir": "contrib",
|
||||||
|
"lastModified": 1624433763,
|
||||||
|
"narHash": "sha256-jIAOMqzIYS1a+CpMFg05wAWV3gRbFRQBUnuuqf5PqMQ=",
|
||||||
|
"owner": "neovim",
|
||||||
|
"repo": "neovim",
|
||||||
|
"rev": "0d7e33bc1307117127e519fb12ec491a1a1ebd82",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"dir": "contrib",
|
||||||
|
"owner": "neovim",
|
||||||
|
"repo": "neovim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neovim-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"neovim-flake": "neovim-flake",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1624435902,
|
||||||
|
"narHash": "sha256-w8F7tlqosL4aCpFUdx1MZMZcVNgpo0QlQ6O22grSuzI=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "neovim-nightly-overlay",
|
||||||
|
"rev": "e2fb9369e1fd4d85676564d970ff0dc0983113fb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "neovim-nightly-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1693158576,
|
"lastModified": 1624271441,
|
||||||
"narHash": "sha256-aRTTXkYvhXosGx535iAFUaoFboUrZSYb1Ooih/auGp0=",
|
"narHash": "sha256-26QNDCdRE5mPOWYJrPGpVzgrJ3ZxqvWOONfeMsjryz4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a999c1cc0c9eb2095729d5aa03e0d8f7ed256780",
|
"rev": "7e567a3d092b7de69cdf5deaeb8d9526de230916",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -33,25 +109,25 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"neovim-overlay": "neovim-overlay",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils"
|
"flake-utils": "flake-utils_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1638172912,
|
"lastModified": 1619358717,
|
||||||
"narHash": "sha256-jxhQGNEsZTdop/Br3JPS+xmBf6t9cIWRzVZFxbT76Rw=",
|
"narHash": "sha256-FkEOIW82ClvUBtD8aqPediM8FERldsOyjPIyapVa65I=",
|
||||||
"owner": "gytis-ivaskevicius",
|
"owner": "gytis-ivaskevicius",
|
||||||
"repo": "flake-utils-plus",
|
"repo": "flake-utils-plus",
|
||||||
"rev": "166d6ebd9f0de03afc98060ac92cba9c71cfe550",
|
"rev": "e7ae270a23695b50fbb6b72759a7fb1e3340ca86",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "gytis-ivaskevicius",
|
"owner": "gytis-ivaskevicius",
|
||||||
"ref": "v1.3.1",
|
|
||||||
"repo": "flake-utils-plus",
|
"repo": "flake-utils-plus",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
15
flake.nix
15
flake.nix
@ -2,25 +2,24 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
utils.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.3.1";
|
utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
|
||||||
|
|
||||||
# neovim-overlay = {
|
neovim-overlay = {
|
||||||
# url = "github:nix-community/neovim-nightly-overlay";
|
url = "github:nix-community/neovim-nightly-overlay";
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
# };
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, nixpkgs, utils, ... }: utils.lib.mkFlake {
|
outputs = inputs@{ self, nixpkgs, neovim-overlay, utils, ... }: utils.lib.systemFlake {
|
||||||
inherit self inputs;
|
inherit self inputs;
|
||||||
|
|
||||||
channels.nixpkgs.input = nixpkgs;
|
channels.nixpkgs.input = nixpkgs;
|
||||||
|
|
||||||
channels.nixpkgs.patches = [ ];
|
channels.nixpkgs.patches = [ ];
|
||||||
|
|
||||||
nix.generateRegistryFromInputs = true;
|
|
||||||
|
|
||||||
hostDefaults = {
|
hostDefaults = {
|
||||||
modules = [
|
modules = [
|
||||||
|
utils.nixosModules.saneFlakeDefaults
|
||||||
({ ... }: { nix.extraOptions = "warn-dirty = false"; })
|
({ ... }: { nix.extraOptions = "warn-dirty = false"; })
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
85
flammea.nix
85
flammea.nix
@ -1,13 +1,11 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let mpdStreamingPort = 8080; in
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
./common-headless.nix
|
./common-headless.nix
|
||||||
# ./sway.nix
|
# ./sway.nix
|
||||||
# ./i3.nix
|
./i3.nix
|
||||||
./gnome3.nix
|
|
||||||
./large-sw.nix
|
./large-sw.nix
|
||||||
./uefi.nix
|
./uefi.nix
|
||||||
./fstrim.nix
|
./fstrim.nix
|
||||||
@ -18,7 +16,6 @@ let mpdStreamingPort = 8080; in
|
|||||||
./spacenav.nix
|
./spacenav.nix
|
||||||
./nvim05.nix
|
./nvim05.nix
|
||||||
./nm-restart.nix
|
./nm-restart.nix
|
||||||
./tailscale.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
@ -29,7 +26,6 @@ let mpdStreamingPort = 8080; in
|
|||||||
"zenpower"
|
"zenpower"
|
||||||
];
|
];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
boot.supportedFilesystems = [ "zfs" ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/3b8c5c8a-fff2-49ba-98bd-ceb01d6d57c3";
|
{ device = "/dev/disk/by-uuid/3b8c5c8a-fff2-49ba-98bd-ceb01d6d57c3";
|
||||||
@ -61,7 +57,12 @@ let mpdStreamingPort = 8080; in
|
|||||||
|
|
||||||
hardware.cpu.amd.updateMicrocode = true;
|
hardware.cpu.amd.updateMicrocode = true;
|
||||||
|
|
||||||
networking.interfaces."enp42s0".wakeOnLan.enable = true;
|
services.wakeonlan.interfaces = [
|
||||||
|
{
|
||||||
|
interface = "enp42s0";
|
||||||
|
method = "magicpacket";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# users.extraUsers.presentation = {
|
# users.extraUsers.presentation = {
|
||||||
# isNormalUser = true;
|
# isNormalUser = true;
|
||||||
@ -83,7 +84,7 @@ let mpdStreamingPort = 8080; in
|
|||||||
|
|
||||||
virtualisation.virtualbox.host = {
|
virtualisation.virtualbox.host = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableExtensionPack = true;
|
# enableExtensionPack = true;
|
||||||
};
|
};
|
||||||
# nixpkgs.config.allowUnfree = true;
|
# nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
@ -100,7 +101,7 @@ let mpdStreamingPort = 8080; in
|
|||||||
|
|
||||||
hardware.opengl.extraPackages = with pkgs; [
|
hardware.opengl.extraPackages = with pkgs; [
|
||||||
rocm-opencl-icd
|
rocm-opencl-icd
|
||||||
rocm-runtime
|
# rocm-runtime-ext
|
||||||
];
|
];
|
||||||
|
|
||||||
# services.nix-serve = {
|
# services.nix-serve = {
|
||||||
@ -109,13 +110,7 @@ let mpdStreamingPort = 8080; in
|
|||||||
# };
|
# };
|
||||||
# networking.firewall.allowedTCPPorts = [ config.services.nix-serve.port ];
|
# networking.firewall.allowedTCPPorts = [ config.services.nix-serve.port ];
|
||||||
|
|
||||||
networking.firewall.trustedInterfaces = [ "tailscale0" ];
|
services.openssh.forwardX11 = true;
|
||||||
|
|
||||||
services.openssh.settings.X11Forwarding = true;
|
|
||||||
|
|
||||||
fileSystems."/mnt/aplysia".device = pkgs.lib.mkOverride 10 "//aplysia.auroch-boa.ts.net/export";
|
|
||||||
|
|
||||||
time.timeZone = pkgs.lib.mkOverride 10 "US/Pacific";
|
|
||||||
|
|
||||||
# nixpkgs.config.packageOverrides = super: let self = super.pkgs; in {
|
# nixpkgs.config.packageOverrides = super: let self = super.pkgs; in {
|
||||||
# mesa_drivers = self.mesaDarwinOr (
|
# mesa_drivers = self.mesaDarwinOr (
|
||||||
@ -128,14 +123,16 @@ let mpdStreamingPort = 8080; in
|
|||||||
# );
|
# );
|
||||||
# };
|
# };
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_6_1;
|
#boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_latest;
|
||||||
|
# boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages;
|
||||||
|
# boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_5_8;
|
||||||
|
|
||||||
# services.xserver = {
|
services.xserver = {
|
||||||
# videoDrivers = [ "amdgpu" ];
|
videoDrivers = [ "amdgpu" ];
|
||||||
# deviceSection = ''
|
deviceSection = ''
|
||||||
# Option "TearFree" "on"
|
Option "TearFree" "on"
|
||||||
# '';
|
'';
|
||||||
# };
|
};
|
||||||
|
|
||||||
services.ratbagd.enable = true;
|
services.ratbagd.enable = true;
|
||||||
|
|
||||||
@ -148,48 +145,6 @@ let mpdStreamingPort = 8080; in
|
|||||||
ACTION=="add", KERNEL=="i2c-[0-9]*", GROUP="wheel", MODE="666"
|
ACTION=="add", KERNEL=="i2c-[0-9]*", GROUP="wheel", MODE="666"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
system.stateVersion = "22.11";
|
system.stateVersion = "21.05";
|
||||||
|
|
||||||
# services.mpd = {
|
|
||||||
# enable = true;
|
|
||||||
# # network.listenAddress = "127.0.0.1";
|
|
||||||
# # musicDirectory = "/mnt/aplysia/music";
|
|
||||||
# musicDirectory = "/home/gebner/Music";
|
|
||||||
# user = "gebner";
|
|
||||||
# extraConfig = ''
|
|
||||||
# bind_to_address "100.125.210.32"
|
|
||||||
#
|
|
||||||
# # audio_output {
|
|
||||||
# # type "alsa"
|
|
||||||
# # name "dac"
|
|
||||||
# # device "sysdefault:CARD=QAMP"
|
|
||||||
# # }
|
|
||||||
#
|
|
||||||
# audio_output {
|
|
||||||
# type "pulse"
|
|
||||||
# name "pulse"
|
|
||||||
# server "127.0.0.1"
|
|
||||||
# }
|
|
||||||
#
|
|
||||||
# audio_output {
|
|
||||||
# type "httpd"
|
|
||||||
# name "http"
|
|
||||||
# encoder "flac"
|
|
||||||
# port "${toString mpdStreamingPort}"
|
|
||||||
# }
|
|
||||||
#
|
|
||||||
# replaygain "auto"
|
|
||||||
# restore_paused "yes"
|
|
||||||
# '';
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# environment.etc."pipewire/pipewire-pulse.conf.d/listen.conf".text = ''
|
|
||||||
# pulse.properties = {
|
|
||||||
# server.address = [
|
|
||||||
# "unix:native"
|
|
||||||
# "tcp:127.0.0.1:4713"
|
|
||||||
# # "tcp:100.97.134.100:4713"
|
|
||||||
# ]
|
|
||||||
# }
|
|
||||||
# '';
|
|
||||||
}
|
}
|
||||||
|
35
gnome3.nix
35
gnome3.nix
@ -2,44 +2,40 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./pipewire.nix
|
./pulseaudio.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
i18n.inputMethod = {
|
i18n.inputMethod = {
|
||||||
enabled = "ibus";
|
enabled = "ibus";
|
||||||
ibus.engines = with pkgs.ibus-engines; [ mozc table-others m17n rime ];
|
ibus.engines = with pkgs.ibus-engines; [ mozc table-others m17n ];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gnome.gnome-tweaks
|
gnome3.libgweather
|
||||||
|
gnome3.gnome-tweak-tool
|
||||||
pavucontrol
|
pavucontrol
|
||||||
paprefs
|
paprefs
|
||||||
playerctl
|
|
||||||
xorg.xlsclients
|
|
||||||
gthumb
|
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
enableDefaultFonts = false;
|
enableDefaultFonts = false;
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
allowBitmaps = false;
|
allowBitmaps = false;
|
||||||
};
|
};
|
||||||
fonts = with pkgs; [
|
fonts = with pkgs; [
|
||||||
# xorg.fontbhlucidatypewriter100dpi
|
xorg.fontbhlucidatypewriter100dpi
|
||||||
# xorg.fontbhlucidatypewriter75dpi
|
xorg.fontbhlucidatypewriter75dpi
|
||||||
# freefont_ttf
|
freefont_ttf
|
||||||
gyre-fonts # TrueType substitutes for standard PostScript fonts
|
gyre-fonts # TrueType substitutes for standard PostScript fonts
|
||||||
# xorg.fontbh100dpi
|
xorg.fontbh100dpi
|
||||||
# xorg.fontmiscmisc
|
xorg.fontmiscmisc
|
||||||
# xorg.fontcursormisc
|
xorg.fontcursormisc
|
||||||
unifont
|
unifont
|
||||||
|
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
|
|
||||||
cantarell-fonts # from gnome3 module
|
cantarell_fonts # from gnome3 module
|
||||||
|
|
||||||
merriweather
|
merriweather
|
||||||
merriweather-sans
|
merriweather-sans
|
||||||
@ -60,14 +56,13 @@
|
|||||||
iosevka
|
iosevka
|
||||||
fira fira-mono fira-code
|
fira fira-mono fira-code
|
||||||
source-code-pro
|
source-code-pro
|
||||||
stix-two
|
|
||||||
|
|
||||||
font-awesome_5
|
font-awesome_5
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# prevent satanic torture
|
# prevent satanic torture
|
||||||
qt.platformTheme = "qt5ct";
|
programs.qt5ct.enable = true;
|
||||||
|
|
||||||
hardware.uinput.enable = true;
|
hardware.uinput.enable = true;
|
||||||
users.extraUsers.gebner.extraGroups = [ "input" "tty" "audio" "video" "uinput" ];
|
users.extraUsers.gebner.extraGroups = [ "input" "tty" "audio" "video" "uinput" ];
|
||||||
@ -85,11 +80,11 @@
|
|||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# libinput.enable = true;
|
libinput.enable = true;
|
||||||
displayManager.gdm.enable = true;
|
displayManager.gdm.enable = true;
|
||||||
# displayManager.defaultSession = "gnome";
|
displayManager.defaultSession = "gnome";
|
||||||
|
|
||||||
desktopManager.gnome = {
|
desktopManager.gnome3 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
22
i3.nix
22
i3.nix
@ -5,15 +5,15 @@
|
|||||||
./common-gui.nix
|
./common-gui.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; with gnome3; [
|
||||||
i3
|
i3
|
||||||
i3status
|
i3status
|
||||||
rofi
|
rofi
|
||||||
rofi-pass
|
rofi-pass
|
||||||
feh
|
feh
|
||||||
gnome3.gnome-keyring
|
gnome_keyring
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
gnome3.nautilus # in closure of gnome-terminal anyhow
|
nautilus # in closure of gnome-terminal anyhow
|
||||||
pcmanfm
|
pcmanfm
|
||||||
# colord
|
# colord
|
||||||
evince
|
evince
|
||||||
@ -23,19 +23,19 @@
|
|||||||
scrot
|
scrot
|
||||||
pavucontrol
|
pavucontrol
|
||||||
pasystray
|
pasystray
|
||||||
gnome3.dconf-editor
|
dconf-editor
|
||||||
unclutter-xfixes
|
unclutter-xfixes
|
||||||
dunst
|
dunst
|
||||||
|
|
||||||
xorg.xev
|
xorg.xev
|
||||||
|
|
||||||
# gnome3 core packages
|
# gnome3 core packages
|
||||||
desktop-file-utils shared-mime-info
|
desktop_file_utils shared_mime_info
|
||||||
glib gtk3
|
glib gtk3
|
||||||
glib-networking gvfs dconf
|
glib_networking gvfs dconf
|
||||||
gnome3.gnome-settings-daemon
|
gnome_settings_daemon
|
||||||
gnome-themes-extra gnome3.adwaita-icon-theme
|
gnome_themes_standard defaultIconTheme
|
||||||
hicolor-icon-theme
|
hicolor_icon_theme
|
||||||
];
|
];
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
@ -60,7 +60,7 @@
|
|||||||
name = "i3wm";
|
name = "i3wm";
|
||||||
start = ''
|
start = ''
|
||||||
export XDG_DATA_DIRS=/run/current-system/sw/share/''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
|
export XDG_DATA_DIRS=/run/current-system/sw/share/''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
|
||||||
export $(${pkgs.gnome3.gnome-keyring}/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
|
export $(${pkgs.gnome3.gnome_keyring}/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
|
||||||
export XDG_CURRENT_DESKTOP=X-Generic
|
export XDG_CURRENT_DESKTOP=X-Generic
|
||||||
i3 &
|
i3 &
|
||||||
waitPID=$!
|
waitPID=$!
|
||||||
@ -75,7 +75,7 @@
|
|||||||
xkbOptions = "caps:ctrl_modifier";
|
xkbOptions = "caps:ctrl_modifier";
|
||||||
};
|
};
|
||||||
|
|
||||||
# services.dbus.socketActivated = true;
|
services.dbus.socketActivated = true;
|
||||||
services.dbus.packages = with pkgs; [ dunst ];
|
services.dbus.packages = with pkgs; [ dunst ];
|
||||||
systemd.packages = [ pkgs.dunst ];
|
systemd.packages = [ pkgs.dunst ];
|
||||||
|
|
||||||
|
10
large-sw.nix
10
large-sw.nix
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs.haskellPackages; with pkgs; [
|
environment.systemPackages = with pkgs.haskellPackages; with pkgs; [
|
||||||
jetbrains.idea-community
|
idea.idea-community
|
||||||
# idea.clion
|
# idea.clion
|
||||||
texlive.combined.scheme-full biber
|
texlive.combined.scheme-full biber
|
||||||
gimp
|
gimp
|
||||||
@ -10,10 +10,14 @@
|
|||||||
# jabref
|
# jabref
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
# calibre
|
# calibre
|
||||||
# goldendict
|
goldendict
|
||||||
|
|
||||||
xournal
|
xournal
|
||||||
xournalpp
|
(xournalpp.overrideDerivation (_: {
|
||||||
|
patches = [
|
||||||
|
./xournalpp-cursor-blink.patch
|
||||||
|
];
|
||||||
|
}))
|
||||||
|
|
||||||
vscode
|
vscode
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
[
|
[
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
../basic-tools.nix
|
../basic-tools.nix
|
||||||
./backup.nix
|
# ./backup.nix
|
||||||
./duplicity.nix
|
./duplicity.nix
|
||||||
|
|
||||||
./mail.nix
|
./mail.nix
|
||||||
@ -17,7 +17,6 @@
|
|||||||
./radicale.nix
|
./radicale.nix
|
||||||
# ./ttrss.nix
|
# ./ttrss.nix
|
||||||
./dns.nix
|
./dns.nix
|
||||||
./nebula.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader.grub.enable = true;
|
boot.loader.grub.enable = true;
|
||||||
|
@ -9,7 +9,7 @@ let
|
|||||||
IN AAAA 2a02:2770:3:0:21a:4aff:feac:bc0e
|
IN AAAA 2a02:2770:3:0:21a:4aff:feac:bc0e
|
||||||
'';
|
'';
|
||||||
|
|
||||||
timestamp = "1664458744";
|
timestamp = "1497294847";
|
||||||
|
|
||||||
heNsServers = ''
|
heNsServers = ''
|
||||||
@ IN NS ns1.he.net.
|
@ IN NS ns1.he.net.
|
||||||
@ -48,8 +48,8 @@ in
|
|||||||
misuji ${misuji}
|
misuji ${misuji}
|
||||||
mastus ${mastus}
|
mastus ${mastus}
|
||||||
|
|
||||||
home-gw IN A 80.109.29.104
|
home-gw IN A 80.109.2.154
|
||||||
htdf-gw IN A 80.109.29.104
|
htdf-gw IN A 80.109.2.154
|
||||||
ams-gw IN A 82.217.167.76
|
ams-gw IN A 82.217.167.76
|
||||||
|
|
||||||
@ ${mastus}
|
@ ${mastus}
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
proxyPass = "http://127.0.0.1:${toString config.services.gitea.httpPort}";
|
proxyPass = "http://127.0.0.1:${toString config.services.gitea.httpPort}";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
client_max_body_size 256M;
|
client_max_body_size 30M;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let mastus = "37.252.120.145";
|
|
||||||
in {
|
|
||||||
services.nebula.networks.gabriel = {
|
|
||||||
enable = true;
|
|
||||||
ca = "/etc/nebula/gabriel/ca.crt";
|
|
||||||
cert = "/etc/nebula/gabriel/mastus.crt";
|
|
||||||
key = "/etc/nebula/gabriel/mastus.key";
|
|
||||||
|
|
||||||
isLighthouse = true;
|
|
||||||
staticHostMap = {
|
|
||||||
"192.168.18.36" = [ "${mastus}:4242" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
firewall.inbound = [ { port = "any"; proto = "any"; host = "any"; } ];
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
serve_dns = true;
|
|
||||||
lighthouse.dns = { host = "192.168.18.36"; port = 5353; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedUDPPorts = [ 4242 ];
|
|
||||||
}
|
|
@ -5,15 +5,12 @@ in
|
|||||||
{
|
{
|
||||||
services.radicale = {
|
services.radicale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.radicale3.overrideDerivation (_: {
|
package = pkgs.radicale2;
|
||||||
#patches = [ ./radicale1249.patch ];
|
|
||||||
doCheck = false;
|
|
||||||
pytestCheckPhase = "true";
|
|
||||||
});
|
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
hosts = "127.0.0.1:${toString radicalePort}";
|
hosts = "127.0.0.1:${toString radicalePort}";
|
||||||
ssl = false;
|
ssl = false;
|
||||||
|
dns_lookup = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
storage = {
|
storage = {
|
||||||
@ -23,7 +20,6 @@ in
|
|||||||
auth = {
|
auth = {
|
||||||
type = "htpasswd";
|
type = "htpasswd";
|
||||||
htpasswd_filename = "/var/lib/radicale/htpasswd";
|
htpasswd_filename = "/var/lib/radicale/htpasswd";
|
||||||
htpasswd_encryption = "bcrypt";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
rights = {
|
rights = {
|
||||||
@ -42,16 +38,6 @@ in
|
|||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:${toString radicalePort}";
|
proxyPass = "http://127.0.0.1:${toString radicalePort}";
|
||||||
};
|
};
|
||||||
# Fake nextcloud api:
|
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/issues/1#note_857357
|
|
||||||
extraConfig = ''
|
|
||||||
rewrite ^/remote.php/carddav / redirect;
|
|
||||||
rewrite ^/remote.php/caldav / redirect;
|
|
||||||
|
|
||||||
location /remote.php/webdav {
|
|
||||||
return 200;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
diff --git a/radicale/app/propfind.py b/radicale/app/propfind.py
|
|
||||||
index 52d0b00..ee7cf28 100644
|
|
||||||
--- a/radicale/app/propfind.py
|
|
||||||
+++ b/radicale/app/propfind.py
|
|
||||||
@@ -350,8 +350,8 @@ class ApplicationPartPropfind(ApplicationBase):
|
|
||||||
permission = "r"
|
|
||||||
status = "read"
|
|
||||||
else:
|
|
||||||
- permission = ""
|
|
||||||
- status = "NO"
|
|
||||||
+ permission = "r"
|
|
||||||
+ status = "read"
|
|
||||||
logger.debug(
|
|
||||||
"%s has %s access to %s",
|
|
||||||
repr(user) if user else "anonymous user", status, target)
|
|
||||||
@@ -362,8 +362,8 @@ class ApplicationPartPropfind(ApplicationBase):
|
|
||||||
path: str, user: str) -> types.WSGIResponse:
|
|
||||||
"""Manage PROPFIND request."""
|
|
||||||
access = Access(self._rights, user, path)
|
|
||||||
- if not access.check("r"):
|
|
||||||
- return httputils.NOT_ALLOWED
|
|
||||||
+ #if not access.check("r"):
|
|
||||||
+ # return httputils.NOT_ALLOWED
|
|
||||||
try:
|
|
||||||
xml_content = self._read_xml_request_body(environ)
|
|
||||||
except RuntimeError as e:
|
|
||||||
@@ -380,8 +380,8 @@ class ApplicationPartPropfind(ApplicationBase):
|
|
||||||
item = next(items_iter, None)
|
|
||||||
if not item:
|
|
||||||
return httputils.NOT_FOUND
|
|
||||||
- if not access.check("r", item):
|
|
||||||
- return httputils.NOT_ALLOWED
|
|
||||||
+ #if not access.check("r", item):
|
|
||||||
+ # return httputils.NOT_ALLOWED
|
|
||||||
# put item back
|
|
||||||
items_iter = itertools.chain([item], items_iter)
|
|
||||||
allowed_items = self._collect_allowed_items(items_iter, user)
|
|
26
nebula.nix
26
nebula.nix
@ -1,26 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let mastus = "37.252.120.145"; hostname = config.networking.hostName;
|
|
||||||
in {
|
|
||||||
services.nebula.networks.gabriel = {
|
|
||||||
enable = true;
|
|
||||||
ca = "/etc/nebula/gabriel/ca.crt";
|
|
||||||
cert = "/etc/nebula/gabriel/${hostname}.crt";
|
|
||||||
key = "/etc/nebula/gabriel/${hostname}.key";
|
|
||||||
|
|
||||||
listen.host = "[::]";
|
|
||||||
listen.port = 0; # dynamic ip
|
|
||||||
|
|
||||||
staticHostMap = {
|
|
||||||
"192.168.18.36" = [ "${mastus}:4242" ];
|
|
||||||
};
|
|
||||||
lighthouses = [
|
|
||||||
"192.168.18.36"
|
|
||||||
];
|
|
||||||
|
|
||||||
firewall.outbound = [ { port = "any"; proto = "any"; host = "any"; } ];
|
|
||||||
firewall.inbound = [ { port = "any"; proto = "any"; host = "any"; } ];
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedUDPPorts = [ 4242 ];
|
|
||||||
}
|
|
@ -5,5 +5,4 @@
|
|||||||
systemd.services.NetworkManager-dispatcher.restartIfChanged = false;
|
systemd.services.NetworkManager-dispatcher.restartIfChanged = false;
|
||||||
systemd.services.NetworkManager-wait-online.restartIfChanged = false;
|
systemd.services.NetworkManager-wait-online.restartIfChanged = false;
|
||||||
systemd.services.wpa_supplicant.restartIfChanged = false;
|
systemd.services.wpa_supplicant.restartIfChanged = false;
|
||||||
systemd.services.systemd-resolved.restartIfChanged = false;
|
|
||||||
}
|
}
|
||||||
|
23
nvim05.nix
23
nvim05.nix
@ -1,21 +1,16 @@
|
|||||||
{ config, inputs, ... }:
|
{ config, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# nixpkgs.overlays = [ inputs.neovim-overlay.overlay ];
|
nixpkgs.overlays = [ inputs.neovim-overlay.overlay ];
|
||||||
|
|
||||||
nixpkgs.config.packageOverrides = pkgs: with pkgs; {
|
nixpkgs.config.packageOverrides = pkgs: with pkgs; {
|
||||||
# neovim-unwrapped = neovim-unwrapped.overrideDerivation (orig: {
|
neovim-qt-unwrapped = neovim-qt-unwrapped.overrideDerivation (_: {
|
||||||
# patches = orig.patches ++ [ ];
|
src = fetchFromGitHub {
|
||||||
# });
|
owner = "equalsraf";
|
||||||
|
repo = "neovim-qt";
|
||||||
# neovim-qt-unwrapped = neovim-qt-unwrapped.overrideDerivation (_: {
|
rev = "54987208b698c84e761cc097550b80641367f0c8";
|
||||||
# version = "0.2.17.9999";
|
sha256 = "sha256-I3/gPk5ay9Scs+YtVWNyLm2zE1T1cMEjdpVbYclHT1M=";
|
||||||
# src = fetchFromGitHub {
|
};
|
||||||
# owner = "equalsraf";
|
});
|
||||||
# repo = "neovim-qt";
|
|
||||||
# rev = "67cc4e414a8e64a475e55230818fab0f78415634";
|
|
||||||
# sha256 = "sha256-3jYYY7T7L4rMsxIxJwY32izmlJKrrqbmU4DZ2Aow5uE=";
|
|
||||||
# };
|
|
||||||
# });
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
68
petalius.nix
68
petalius.nix
@ -4,8 +4,8 @@
|
|||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
./common-headless.nix
|
./common-headless.nix
|
||||||
./sway.nix
|
# ./sway.nix
|
||||||
# ./i3.nix
|
./i3.nix
|
||||||
./large-sw.nix
|
./large-sw.nix
|
||||||
./uefi.nix
|
./uefi.nix
|
||||||
./fstrim.nix
|
./fstrim.nix
|
||||||
@ -14,8 +14,6 @@
|
|||||||
./huion.nix
|
./huion.nix
|
||||||
./nvim05.nix
|
./nvim05.nix
|
||||||
./nm-restart.nix
|
./nm-restart.nix
|
||||||
# ./nebula.nix
|
|
||||||
./tailscale.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
@ -39,7 +37,7 @@
|
|||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
nix.settings.max-jobs = 4;
|
nix.maxJobs = 4;
|
||||||
|
|
||||||
environment.etc."lvm/lvm.conf".text = ''
|
environment.etc."lvm/lvm.conf".text = ''
|
||||||
devices {
|
devices {
|
||||||
@ -54,22 +52,22 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# services.xserver = {
|
services.xserver = {
|
||||||
# dpi = 120;
|
dpi = 120;
|
||||||
#
|
|
||||||
# libinput.enable = true;
|
libinput.enable = true;
|
||||||
# config = ''
|
config = ''
|
||||||
# Section "InputClass"
|
Section "InputClass"
|
||||||
# Identifier "touchpad"
|
Identifier "touchpad"
|
||||||
# Driver "libinput"
|
Driver "libinput"
|
||||||
# MatchDevicePath "/dev/input/event*"
|
MatchDevicePath "/dev/input/event*"
|
||||||
# MatchIsPointer "true"
|
MatchIsPointer "true"
|
||||||
# EndSection
|
EndSection
|
||||||
# '';
|
'';
|
||||||
#
|
|
||||||
# videoDrivers = [ "modesetting" ];
|
videoDrivers = [ "modesetting" ];
|
||||||
# useGlamor = true;
|
useGlamor = true;
|
||||||
# };
|
};
|
||||||
programs.light.enable = true;
|
programs.light.enable = true;
|
||||||
|
|
||||||
services.tlp.enable = true;
|
services.tlp.enable = true;
|
||||||
@ -96,8 +94,6 @@
|
|||||||
users.extraUsers.gebner.extraGroups = [ "libvirtd" ];
|
users.extraUsers.gebner.extraGroups = [ "libvirtd" ];
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
|
|
||||||
virtualisation.waydroid.enable = true;
|
|
||||||
|
|
||||||
# virtualisation.virtualbox.host.enable = true;
|
# virtualisation.virtualbox.host.enable = true;
|
||||||
|
|
||||||
# boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_5_4;
|
# boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages_5_4;
|
||||||
@ -117,11 +113,10 @@
|
|||||||
# time.timeZone = pkgs.lib.mkOverride 10 "Europe/London";
|
# time.timeZone = pkgs.lib.mkOverride 10 "Europe/London";
|
||||||
# time.timeZone = pkgs.lib.mkOverride 10 "Europe/Lisbon";
|
# time.timeZone = pkgs.lib.mkOverride 10 "Europe/Lisbon";
|
||||||
# time.timeZone = pkgs.lib.mkOverride 10 "US/Eastern";
|
# time.timeZone = pkgs.lib.mkOverride 10 "US/Eastern";
|
||||||
time.timeZone = pkgs.lib.mkOverride 10 "US/Pacific";
|
|
||||||
|
|
||||||
#services.avahi.nssmdns = true;
|
#services.avahi.nssmdns = true;
|
||||||
|
|
||||||
system.stateVersion = "22.11";
|
system.stateVersion = "18.03";
|
||||||
|
|
||||||
networking.wireguard.interfaces.wg0 = {
|
networking.wireguard.interfaces.wg0 = {
|
||||||
ips = ["10.59.0.2/16"];
|
ips = ["10.59.0.2/16"];
|
||||||
@ -134,9 +129,9 @@
|
|||||||
peers = [{
|
peers = [{
|
||||||
publicKey = "ByLlJbevlTBooAo2RIZGGJvBHKqA9qiOpHBvR5yuJX4=";
|
publicKey = "ByLlJbevlTBooAo2RIZGGJvBHKqA9qiOpHBvR5yuJX4=";
|
||||||
allowedIPs = ["10.56.0.0/14" "10.60.1.1"];
|
allowedIPs = ["10.56.0.0/14" "10.60.1.1"];
|
||||||
endpoint = "htdf-gw.gebner.org:35869";
|
# endpoint = "htdf-gw.gebner.org:35869";
|
||||||
# endpoint = "80.109.29.104:35869";
|
# endpoint = "80.109.2.154:35869";
|
||||||
# endpoint = "127.0.0.1:35869";
|
endpoint = "127.0.0.1:35869";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
systemd.services.wireguard-wg0.wantedBy = pkgs.lib.mkOverride 10 [];
|
systemd.services.wireguard-wg0.wantedBy = pkgs.lib.mkOverride 10 [];
|
||||||
@ -161,21 +156,4 @@
|
|||||||
|
|
||||||
services.fwupd.enable = true;
|
services.fwupd.enable = true;
|
||||||
|
|
||||||
users.extraUsers.gebner2 = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [
|
|
||||||
"wheel"
|
|
||||||
# "networkmanager"
|
|
||||||
"audio"
|
|
||||||
# "transmission"
|
|
||||||
# "lxd"
|
|
||||||
# "libvirtd"
|
|
||||||
# "vboxusers"
|
|
||||||
# "wireshark"
|
|
||||||
"input" "tty" "audio" "video" "uinput"
|
|
||||||
];
|
|
||||||
# shell = "${pkgs.zsh}/bin/zsh";
|
|
||||||
shell = "/run/current-system/sw/bin/fish";
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
25
pipewire.nix
25
pipewire.nix
@ -12,18 +12,18 @@
|
|||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
|
|
||||||
# media-session.config.bluez-monitor.rules = [
|
media-session.config.bluez-monitor.rules = [
|
||||||
# {
|
{
|
||||||
# # Matches all cards
|
# Matches all cards
|
||||||
# matches = [ { "device.name" = "~bluez_card.*"; } ];
|
matches = [ { "device.name" = "~bluez_card.*"; } ];
|
||||||
# actions = {
|
actions = {
|
||||||
# "update-props" = {
|
"update-props" = {
|
||||||
# "bluez5.reconnect-profiles" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ];
|
"bluez5.reconnect-profiles" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ];
|
||||||
# "bluez5.msbc-support" = true;
|
"bluez5.msbc-support" = true;
|
||||||
# };
|
};
|
||||||
# };
|
};
|
||||||
# }
|
}
|
||||||
# ];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
@ -32,7 +32,6 @@
|
|||||||
carla
|
carla
|
||||||
qjackctl
|
qjackctl
|
||||||
pipewire.lib
|
pipewire.lib
|
||||||
helvum
|
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
43
sway.nix
43
sway.nix
@ -5,15 +5,14 @@
|
|||||||
./common-gui.nix
|
./common-gui.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; with gnome3; [
|
||||||
i3status
|
i3status
|
||||||
(waybar.override { pulseSupport = true; })
|
(waybar.override { pulseSupport = true; })
|
||||||
rofi-wayland
|
wofi
|
||||||
ydotool
|
ydotool
|
||||||
wtype
|
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
feh
|
feh
|
||||||
gnome3.gnome-keyring
|
gnome_keyring
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
pcmanfm
|
pcmanfm
|
||||||
evince
|
evince
|
||||||
@ -21,34 +20,32 @@
|
|||||||
mako
|
mako
|
||||||
pavucontrol
|
pavucontrol
|
||||||
paprefs
|
paprefs
|
||||||
gnome3.dconf-editor
|
dconf-editor
|
||||||
|
|
||||||
xdg_utils # for xdg-open
|
xdg_utils # for xdg-open
|
||||||
|
|
||||||
# gnome3 core packages
|
# gnome3 core packages
|
||||||
desktop-file-utils shared-mime-info
|
desktop_file_utils shared_mime_info
|
||||||
glib gtk3
|
glib gtk3
|
||||||
glib-networking gvfs dconf
|
glib_networking gvfs dconf
|
||||||
gnome-themes-extra gnome3.adwaita-icon-theme
|
gnome_themes_standard defaultIconTheme
|
||||||
hicolor-icon-theme
|
hicolor_icon_theme
|
||||||
|
|
||||||
# for QT_QPA_PLATFORM=wayland
|
# for QT_QPA_PLATFORM=wayland
|
||||||
qt5.qtwayland
|
qt5.qtwayland
|
||||||
|
|
||||||
wdisplays
|
wdisplays
|
||||||
|
|
||||||
playerctl
|
|
||||||
|
|
||||||
xorg.xlsclients
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# services.dbus.socketActivated = true;
|
nixpkgs.config.packageOverrides = pkgs: with pkgs; {
|
||||||
|
firefox = firefox-wayland;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.dbus.socketActivated = true;
|
||||||
|
|
||||||
programs.sway = {
|
programs.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
wrapperFeatures.gtk = true;
|
|
||||||
|
|
||||||
extraSessionCommands = ''
|
extraSessionCommands = ''
|
||||||
export SDL_VIDEODRIVER=wayland
|
export SDL_VIDEODRIVER=wayland
|
||||||
|
|
||||||
@ -65,17 +62,17 @@
|
|||||||
export WINIT_UNIX_BACKEND=x11
|
export WINIT_UNIX_BACKEND=x11
|
||||||
|
|
||||||
export XDG_DATA_DIRS=/run/current-system/sw/share/''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
|
export XDG_DATA_DIRS=/run/current-system/sw/share/''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
|
||||||
export $(${pkgs.gnome3.gnome-keyring}/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
|
export $(${pkgs.gnome3.gnome_keyring}/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
|
||||||
export XDG_CURRENT_DESKTOP=sway
|
export XDG_CURRENT_DESKTOP=sway
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# services.xserver = {
|
services.xserver = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# libinput.enable = true;
|
libinput.enable = true;
|
||||||
# # displayManager.lightdm.enable = true;
|
displayManager.lightdm.enable = true;
|
||||||
# displayManager.defaultSession = "sway";
|
displayManager.defaultSession = "sway";
|
||||||
# };
|
};
|
||||||
|
|
||||||
services.dbus.packages = with pkgs; [ mako ];
|
services.dbus.packages = with pkgs; [ mako ];
|
||||||
|
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
{ config, pkgs, ... }: {
|
|
||||||
# make the tailscale command usable to users
|
|
||||||
environment.systemPackages = [ pkgs.tailscale ];
|
|
||||||
|
|
||||||
# enable the tailscale service
|
|
||||||
services.tailscale.enable = true;
|
|
||||||
|
|
||||||
networking.firewall.checkReversePath = "loose";
|
|
||||||
}
|
|
69
xournalpp-cursor-blink.patch
Normal file
69
xournalpp-cursor-blink.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
commit 92e4041efb6165505a8729968648392d7b5ff459
|
||||||
|
Author: Gabriel Ebner <gebner@gebner.org>
|
||||||
|
Date: Sun Aug 16 19:47:52 2020 +0200
|
||||||
|
|
||||||
|
Allow the user to disable cursor blinking.
|
||||||
|
|
||||||
|
This uses the same setting which is also used by the built-in text entry
|
||||||
|
widget.
|
||||||
|
|
||||||
|
diff --git a/src/gui/TextEditor.cpp b/src/gui/TextEditor.cpp
|
||||||
|
index 0750ad0e..807786cf 100644
|
||||||
|
--- a/src/gui/TextEditor.cpp
|
||||||
|
+++ b/src/gui/TextEditor.cpp
|
||||||
|
@@ -37,6 +37,7 @@ TextEditor::TextEditor(XojPageView* gui, GtkWidget* widget, Text* text, bool own
|
||||||
|
gtk_text_buffer_place_cursor(this->buffer, &first);
|
||||||
|
|
||||||
|
GtkSettings* settings = gtk_widget_get_settings(this->widget);
|
||||||
|
+ g_object_get(settings, "gtk-cursor-blink", &this->cursorBlink, nullptr);
|
||||||
|
g_object_get(settings, "gtk-cursor-blink-time", &this->cursorBlinkTime, nullptr);
|
||||||
|
g_object_get(settings, "gtk-cursor-blink-timeout", &this->cursorBlinkTimeout, nullptr);
|
||||||
|
|
||||||
|
@@ -48,7 +49,12 @@ TextEditor::TextEditor(XojPageView* gui, GtkWidget* widget, Text* text, bool own
|
||||||
|
g_signal_connect(this->imContext, "retrieve-surrounding", G_CALLBACK(iMRetrieveSurroundingCallback), this);
|
||||||
|
g_signal_connect(this->imContext, "delete-surrounding", G_CALLBACK(imDeleteSurroundingCallback), this);
|
||||||
|
|
||||||
|
- blinkCallback(this);
|
||||||
|
+ if (this->cursorBlink) {
|
||||||
|
+ blinkCallback(this);
|
||||||
|
+ } else {
|
||||||
|
+ this->cursorVisible = true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
}
|
||||||
|
|
||||||
|
TextEditor::~TextEditor()
|
||||||
|
@@ -654,12 +660,15 @@ void TextEditor::moveCursor(GtkMovementStep step, int count, bool extendSelectio
|
||||||
|
gtk_widget_error_bell(this->widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
- this->cursorVisible = false;
|
||||||
|
- if (this->blinkTimeout)
|
||||||
|
- {
|
||||||
|
- g_source_remove(this->blinkTimeout);
|
||||||
|
- }
|
||||||
|
- blinkCallback(this);
|
||||||
|
+ if (this->cursorBlink) {
|
||||||
|
+ this->cursorVisible = false;
|
||||||
|
+ if (this->blinkTimeout) {
|
||||||
|
+ g_source_remove(this->blinkTimeout);
|
||||||
|
+ }
|
||||||
|
+ blinkCallback(this);
|
||||||
|
+ } else {
|
||||||
|
+ repaintCursor();
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void TextEditor::findPos(GtkTextIter* iter, double xPos, double yPos)
|
||||||
|
diff --git a/src/gui/TextEditor.h b/src/gui/TextEditor.h
|
||||||
|
index fdeb8b0f..008807b1 100644
|
||||||
|
--- a/src/gui/TextEditor.h
|
||||||
|
+++ b/src/gui/TextEditor.h
|
||||||
|
@@ -108,6 +108,7 @@ private:
|
||||||
|
double markPosX = 0;
|
||||||
|
double markPosY = 0;
|
||||||
|
|
||||||
|
+ bool cursorBlink = true;
|
||||||
|
int cursorBlinkTime = 0;
|
||||||
|
int cursorBlinkTimeout = 0;
|
||||||
|
int blinkTimeout = 0; // handler id
|
Loading…
Reference in New Issue
Block a user