nixpkgs-fmt

This commit is contained in:
Cyryl Płotnicki 2021-11-22 19:32:26 +00:00
parent e8f445923b
commit fe4d30f651
67 changed files with 1449 additions and 1404 deletions

View file

@ -1,25 +1,25 @@
{ config, pkgs, ... }:
let
extraArgs = [ "--exclude='.cache'" "--exclude='.rustup'" "--exclude='.cargo'" "--exclude='.local/share'" "--exclude='keybase'"];
extraArgs = [ "--exclude='.cache'" "--exclude='.rustup'" "--exclude='.cargo'" "--exclude='.local/share'" "--exclude='keybase'" ];
in
{
{
services = {
restic.backups.home-to-bolty = {
passwordFile = "/etc/nixos/secrets/restic-password-bolty";
paths = [ "/home" ];
repository = "rest:http://bolty:8000/";
timerConfig = { OnCalendar = "hourly"; };
extraBackupArgs = extraArgs;
};
restic.backups.home-to-b2 = {
passwordFile = "/etc/nixos/secrets/restic-password-b2";
paths = [ "/home" ];
repository = "b2:cyplo-restic-${config.networking.hostName}:/";
timerConfig = { OnCalendar = "hourly"; };
extraBackupArgs = extraArgs;
s3CredentialsFile = "/etc/nixos/secrets/b2-env";
};
services = {
restic.backups.home-to-bolty = {
passwordFile = "/etc/nixos/secrets/restic-password-bolty";
paths = [ "/home" ];
repository = "rest:http://bolty:8000/";
timerConfig = { OnCalendar = "hourly"; };
extraBackupArgs = extraArgs;
};
}
restic.backups.home-to-b2 = {
passwordFile = "/etc/nixos/secrets/restic-password-b2";
paths = [ "/home" ];
repository = "b2:cyplo-restic-${config.networking.hostName}:/";
timerConfig = { OnCalendar = "hourly"; };
extraBackupArgs = extraArgs;
s3CredentialsFile = "/etc/nixos/secrets/b2-env";
};
};
}

View file

@ -19,12 +19,14 @@
};
fileSystems."/" =
{ device = "/dev/disk/by-uuid/28afab71-ff3d-4f1a-b7e4-2129572706dd";
{
device = "/dev/disk/by-uuid/28afab71-ff3d-4f1a-b7e4-2129572706dd";
fsType = "btrfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/5BFB-9E6B";
{
device = "/dev/disk/by-uuid/5BFB-9E6B";
fsType = "vfat";
};

View file

@ -1,10 +1,10 @@
{ config, pkgs, inputs, lib, ... }:
let
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
in
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
# make sure tailscale is running before trying to connect to tailscale
after = [ "network-pre.target" "tailscale.service" ];

View file

@ -1,6 +1,12 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
vim tmux htop atop btrfs-progs compsize fd
vim
tmux
htop
atop
btrfs-progs
compsize
fd
];
}

View file

@ -1,89 +1,93 @@
{ config, pkgs, ... }:
{
boot.kernelPackages = pkgs.linuxPackages_latest;
nixpkgs.overlays = [ (self: super: { buildLinux = x: super.buildLinux ({
ignoreConfigErrors = true;
enableParallelBuilding = true;
} // x); } ) ];
boot.kernelPatches = [ {
nixpkgs.overlays = [
(self: super: {
buildLinux = x: super.buildLinux ({
ignoreConfigErrors = true;
enableParallelBuilding = true;
} // x);
})
];
boot.kernelPatches = [{
name = "foureighty";
patch = null;
extraConfig = ''
ACPI_CUSTOM_METHOD n
ACPI_DPTF y
BUG y
CC_STACKPROTECTOR_STRONG y
CPU_IDLE_GOV_HALTPOLL y
CPU_IDLE_GOV_TEO y
DEBUG_CREDENTIALS y
DEBUG_NOTIFIERS y
DEBUG_PI_LIST y
DEBUG_PLIST y
DEBUG_RODATA y
DEBUG_SET_MODULE_RONX y
DEBUG_SG y
DEVMEM y
DPTF_PCH_FIVR m
DPTF_POWER m
ENERGY_MODEL y
FORTIFY_SOURCE y
GCC_PLUGINS y
GCC_PLUGIN_LATENT_ENTROPY y
GCC_PLUGIN_RANDSTRUCT y
GCC_PLUGIN_RANDSTRUCT_PERFORMANCE y
GCC_PLUGIN_STACKLEAK y
GCC_PLUGIN_STRUCTLEAK y
GCC_PLUGIN_STRUCTLEAK_BYREF_ALL y
HARDENED_USERCOPY y
HARDENED_USERCOPY_FALLBACK y
HARDLOCKUP_DETECTOR y
HZ_300 y
INET_DIAG n
INET_DIAG_DESTROY option no
INET_MPTCP_DIAG option no
INET_RAW_DIAG option no
INET_TCP_DIAG option no
INET_UDP_DIAG option no
INIT_ON_ALLOC_DEFAULT_ON y
INIT_ON_FREE_DEFAULT_ON y
INTEL_TXT y
KEXEC n
KFENCE y
LEGACY_VSYSCALL_NONE y
LOCKUP_DETECTOR y
MCORE2 y
NR_CPUS 16
NUMA_BALANCING y
NUMA_BALANCING_DEFAULT_ENABLED y
PAGE_POISONING y
PAGE_POISONING_NO_SANITY y
PAGE_POISONING_ZERO y
PANIC_TIMEOUT -1
PM_AUTOSLEEP y
POWER_EFFICIENT_DEFAULT y
PREEMPT y
PREEMPTION y
PREEMPT_COUNT y
PREEMPT_DYNAMIC y
PREEMPT_RCU y
PROC_KCORE n
RANDOMIZE_KSTACK_OFFSET_DEFAULT y
SCHED_CORE y
SCHED_STACK_END_CHECK y
SECURITY_SAFESETID y
SECURITY_SELINUX_DISABLE n
SECURITY_WRITABLE_HOOKS n
SHUFFLE_PAGE_ALLOCATOR y
SLAB_FREELIST_HARDENED y
SLAB_FREELIST_RANDOM y
SLUB_DEBUG y
STRICT_DEVMEM y
STRICT_KERNEL_RWX y
UNINLINE_SPIN_UNLOCK y
WATCH_QUEUE y
X86_INTEL_TSX_MODE_AUTO y
X86_SGX y
X86_SGX_KVM y
ACPI_CUSTOM_METHOD n
ACPI_DPTF y
BUG y
CC_STACKPROTECTOR_STRONG y
CPU_IDLE_GOV_HALTPOLL y
CPU_IDLE_GOV_TEO y
DEBUG_CREDENTIALS y
DEBUG_NOTIFIERS y
DEBUG_PI_LIST y
DEBUG_PLIST y
DEBUG_RODATA y
DEBUG_SET_MODULE_RONX y
DEBUG_SG y
DEVMEM y
DPTF_PCH_FIVR m
DPTF_POWER m
ENERGY_MODEL y
FORTIFY_SOURCE y
GCC_PLUGINS y
GCC_PLUGIN_LATENT_ENTROPY y
GCC_PLUGIN_RANDSTRUCT y
GCC_PLUGIN_RANDSTRUCT_PERFORMANCE y
GCC_PLUGIN_STACKLEAK y
GCC_PLUGIN_STRUCTLEAK y
GCC_PLUGIN_STRUCTLEAK_BYREF_ALL y
HARDENED_USERCOPY y
HARDENED_USERCOPY_FALLBACK y
HARDLOCKUP_DETECTOR y
HZ_300 y
INET_DIAG n
INET_DIAG_DESTROY option no
INET_MPTCP_DIAG option no
INET_RAW_DIAG option no
INET_TCP_DIAG option no
INET_UDP_DIAG option no
INIT_ON_ALLOC_DEFAULT_ON y
INIT_ON_FREE_DEFAULT_ON y
INTEL_TXT y
KEXEC n
KFENCE y
LEGACY_VSYSCALL_NONE y
LOCKUP_DETECTOR y
MCORE2 y
NR_CPUS 16
NUMA_BALANCING y
NUMA_BALANCING_DEFAULT_ENABLED y
PAGE_POISONING y
PAGE_POISONING_NO_SANITY y
PAGE_POISONING_ZERO y
PANIC_TIMEOUT -1
PM_AUTOSLEEP y
POWER_EFFICIENT_DEFAULT y
PREEMPT y
PREEMPTION y
PREEMPT_COUNT y
PREEMPT_DYNAMIC y
PREEMPT_RCU y
PROC_KCORE n
RANDOMIZE_KSTACK_OFFSET_DEFAULT y
SCHED_CORE y
SCHED_STACK_END_CHECK y
SECURITY_SAFESETID y
SECURITY_SELINUX_DISABLE n
SECURITY_WRITABLE_HOOKS n
SHUFFLE_PAGE_ALLOCATOR y
SLAB_FREELIST_HARDENED y
SLAB_FREELIST_RANDOM y
SLUB_DEBUG y
STRICT_DEVMEM y
STRICT_KERNEL_RWX y
UNINLINE_SPIN_UNLOCK y
WATCH_QUEUE y
X86_INTEL_TSX_MODE_AUTO y
X86_SGX y
X86_SGX_KVM y
'';
} ];
}];
}

View file

@ -48,7 +48,7 @@
fonts.fontconfig.enable = true;
programs.steam.enable = true;
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
imports = [
../../home-manager/programs/kitty.nix
];

View file

@ -17,17 +17,17 @@ let
glxinfo | grep vendor; echo OK!;
'';
in
{
environment.systemPackages = [ nvidia-offload whichgpu nvidiaon ];
hardware.opengl.enable = true;
hardware.opengl.driSupport32Bit = true;
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.prime = {
offload.enable = true;
# Bus ID of the Intel GPU. You can find it using lspci, either under 3D or VGA
intelBusId = "PCI:0:2:0";
# Bus ID of the NVIDIA GPU. You can find it using lspci, either under 3D or VGA
nvidiaBusId = "PCI:1:0:0";
};
}
{
environment.systemPackages = [ nvidia-offload whichgpu nvidiaon ];
hardware.opengl.enable = true;
hardware.opengl.driSupport32Bit = true;
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.prime = {
offload.enable = true;
# Bus ID of the Intel GPU. You can find it using lspci, either under 3D or VGA
intelBusId = "PCI:0:2:0";
# Bus ID of the NVIDIA GPU. You can find it using lspci, either under 3D or VGA
nvidiaBusId = "PCI:1:0:0";
};
}

View file

@ -1,10 +1,10 @@
{ config, pkgs, inputs, lib, ... }:
let
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
in
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
# make sure tailscale is running before trying to connect to tailscale
after = [ "network-pre.target" "tailscale.service" ];

View file

@ -23,7 +23,7 @@
services.thermald.enable = true;
fonts.fontconfig.enable = true;
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
imports = [
../../home-manager/programs/kitty.nix
];

View file

@ -1,10 +1,10 @@
{ config, pkgs, inputs, lib, ... }:
let
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
in
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
# make sure tailscale is running before trying to connect to tailscale
after = [ "network-pre.target" "tailscale.service" ];

View file

@ -26,7 +26,7 @@
memoryPercent = 50;
};
fonts.fontconfig.enable = true;
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
imports = [
../../home-manager/programs/termite.nix
];

View file

@ -1,10 +1,10 @@
{ config, pkgs, inputs, lib, ... }:
let
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
in
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
# make sure tailscale is running before trying to connect to tailscale
after = [ "network-pre.target" "tailscale.service" ];

View file

@ -1,4 +1,3 @@
{ config, pkgs, lib, ... }:
{
time.timeZone = "Europe/London";

View file

@ -9,32 +9,34 @@
locations."= /.well-known/matrix/server".extraConfig =
let
server = { "m.server" = "cyplo.dev:443"; };
in ''
in
''
add_header Content-Type application/json;
return 200 '${builtins.toJSON server}';
'';
locations."= /.well-known/matrix/client".extraConfig =
let
client = {
"m.homeserver" = { "base_url" = "https://cyplo.dev"; };
"m.identity_server" = { "base_url" = "https://vector.im"; };
};
in ''
add_header Content-Type application/json;
add_header Access-Control-Allow-Origin *;
return 200 '${builtins.toJSON client}';
'';
locations."/".extraConfig = ''
return 404;
'';
locations."/_matrix" = {
proxyPass = "http://bolty:8008"; # without a trailing /
locations."= /.well-known/matrix/client".extraConfig =
let
client = {
"m.homeserver" = { "base_url" = "https://cyplo.dev"; };
"m.identity_server" = { "base_url" = "https://vector.im"; };
};
};
in
''
add_header Content-Type application/json;
add_header Access-Control-Allow-Origin *;
return 200 '${builtins.toJSON client}';
'';
locations."/".extraConfig = ''
return 404;
'';
locations."/_matrix" = {
proxyPass = "http://bolty:8008"; # without a trailing /
};
};
};
};
}
}

View file

@ -1,10 +1,10 @@
{ config, pkgs, inputs, lib, ... }:
let
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
in
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
{
systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
# make sure tailscale is running before trying to connect to tailscale
after = [ "network-pre.target" "tailscale.service" ];

View file

@ -41,7 +41,7 @@
support32Bit = true;
extraModules = [ pkgs.pulseaudio-modules-bt ];
daemon.config = {
nice-level= -15;
nice-level = -15;
realtime-scheduling = "yes";
};
};

View file

@ -20,7 +20,7 @@
fstrim.enable = true;
clipmenu.enable = true;
lorri.enable = true;
keybase.enable=true;
keybase.enable = true;
avahi = {
enable = true;
@ -44,8 +44,8 @@
useGlamor = true;
deviceSection = ''
Option "TearFree" "true"
Option "AccelMethod" "sna"
Option "TearFree" "true"
Option "AccelMethod" "sna"
'';
};

View file

@ -8,51 +8,64 @@
./syncthing.nix
];
security.allowUserNamespaces = true;
security.allowUserNamespaces = true;
environment.enableDebugInfo = true;
environment.enableDebugInfo = true;
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
wget git gnupg curl tmux htop atop home-manager pciutils powertop fd dnsutils usbutils veracrypt
];
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
wget
git
gnupg
curl
tmux
htop
atop
home-manager
pciutils
powertop
fd
dnsutils
usbutils
veracrypt
];
i18n.defaultLocale = "en_GB.UTF-8";
i18n.defaultLocale = "en_GB.UTF-8";
users.users.cyryl = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "video" "scanner" "lp" "docker" "vboxusers" "adbusers" "libvirtd" "dialout" "wireshark" ];
shell = pkgs.zsh;
};
users.users.cyryl = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "video" "scanner" "lp" "docker" "vboxusers" "adbusers" "libvirtd" "dialout" "wireshark" ];
shell = pkgs.zsh;
};
networking.hosts = {
"10.11.99.1" = [ "remarkable" ];
};
networking.hosts = {
"10.11.99.1" = [ "remarkable" ];
};
programs.light.enable = true;
programs.adb.enable = true;
programs.wireshark.enable=true;
programs.light.enable = true;
programs.adb.enable = true;
programs.wireshark.enable = true;
virtualisation.docker = {
enable = true;
autoPrune.enable = true;
};
virtualisation.docker = {
enable = true;
autoPrune.enable = true;
};
fonts.fonts = with pkgs; [ powerline-fonts weather-icons material-icons source-code-pro fira-code noto-fonts-emoji emojione iosevka font-awesome nerdfonts ];
fonts.fonts = with pkgs; [ powerline-fonts weather-icons material-icons source-code-pro fira-code noto-fonts-emoji emojione iosevka font-awesome nerdfonts ];
nix = {
autoOptimiseStore = true;
daemonIONiceLevel = 7;
daemonNiceLevel = 19;
gc.automatic = true;
optimise.automatic = true;
package = pkgs.nixUnstable;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
nix = {
autoOptimiseStore = true;
daemonIONiceLevel = 7;
daemonNiceLevel = 19;
gc.automatic = true;
optimise.automatic = true;
package = pkgs.nixUnstable;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
system = {
stateVersion = "20.03";
};
}
system = {
stateVersion = "20.03";
};
}

View file

@ -18,7 +18,7 @@
];
nix.extraOptions = ''
builders-use-substitutes = true
builders-use-substitutes = true
'';
nix.distributedBuilds = true;

View file

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
accounts.email.accounts.cyplo = {
primary = true;
address = "cyplo@cyplo.dev";

View file

@ -1,7 +1,6 @@
{ config, pkgs, ... }:
{
services = {
};
services = { };
xsession = {
enable = false;

View file

@ -4,6 +4,6 @@
enable = true;
desktopManager.enlightenment.enable = true;
};
users.users.cyryl.packages = with pkgs; [];
users.users.cyryl.packages = with pkgs; [ ];
}

View file

@ -8,17 +8,17 @@ let
exec -a "$0" "$@"
'';
in
{
environment.systemPackages = [ nvidia-offload ];
{
environment.systemPackages = [ nvidia-offload ];
services.xserver.videoDrivers = [ "nvidia" ];
hardware.opengl = { enable = true; };
services.xserver.videoDrivers = [ "nvidia" ];
hardware.opengl = { enable = true; };
hardware.nvidia.modesetting.enable = true;
hardware.nvidia.prime.offload.enable = true;
hardware.nvidia.prime = {
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
}
hardware.nvidia.modesetting.enable = true;
hardware.nvidia.prime.offload.enable = true;
hardware.nvidia.prime = {
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
}

View file

@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }:
{
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
imports = [
./home.nix
];

View file

@ -14,7 +14,7 @@
};
extraConfig = {
colour.ui = true;
credential = { helper ="cache"; };
credential = { helper = "cache"; };
diff.algorithm = "histogram";
diff.renameLimit = 2048;
diff.renames = "copy";
@ -31,5 +31,5 @@
head = "log HEAD -n1";
vacuum = "!git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs -r git branch -D && git gc --aggressive --auto";
};
};
}
};
}

View file

@ -4,7 +4,7 @@
./system.nix
];
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
imports = [
./home.nix
];

View file

@ -1,14 +1,14 @@
{ config, pkgs, ... }:
{
services = {
};
services = { };
xsession = {
enable = false;
};
home.packages = with pkgs; [
gnome-usage gnome3.gnome-tweaks
gnome-usage
gnome3.gnome-tweaks
];
programs.gnome-terminal = {

View file

@ -10,7 +10,10 @@
services.flatpak.enable = true;
services.dbus.packages = with pkgs; [ gnome2.GConf gnome3.dconf gcr ];
users.users.cyryl.packages = with pkgs.gnomeExtensions; [
caffeine clipboard-indicator sound-output-device-chooser gsconnect
caffeine
clipboard-indicator
sound-output-device-chooser
gsconnect
];
}

View file

@ -1,5 +1,5 @@
{ config, pkgs, ... }:
{
networking.firewall.allowedTCPPortRanges = [ { from = 1716; to = 1764; } ];
networking.firewall.allowedUDPPortRanges = [ { from = 1716; to = 1764; } ];
networking.firewall.allowedTCPPortRanges = [{ from = 1716; to = 1764; }];
networking.firewall.allowedUDPPortRanges = [{ from = 1716; to = 1764; }];
}

View file

@ -2,77 +2,77 @@
let
unstable = inputs.nixpkgs-nixos-unstable.legacyPackages.${pkgs.system};
in
{
home-manager.users.cyryl = {...}: {
gtk = {
enable = true;
iconTheme = {
name = "Adwaita";
package = pkgs.gnome3.adwaita-icon-theme;
};
{
home-manager.users.cyryl = { ... }: {
gtk = {
enable = true;
iconTheme = {
name = "Adwaita";
package = pkgs.gnome3.adwaita-icon-theme;
};
qt = {
enable = true;
platformTheme = "gnome";
style.name = "adwaita-dark";
style.package = pkgs.adwaita-qt;
};
imports = [
./vscode.nix
];
home.packages = with pkgs; with pkgs.gnome3; with pkgs.python38Packages; [
anarchism
apvlv
binwalk-full
brave
cheese
digikam
discord
electrum
element-desktop
eog
evince
fontconfig
freecad
ghidra-bin
gimp
glxinfo
gnome-screenshot
gsettings-desktop-schemas
hopper
inkscape
keybase-gui
libreoffice
mindforger
modem-manager-gui
nautilus
nyxt
obs-studio
openscad
passff-host
pdfarranger
qcad
qemu
shotwell
signal-desktop
simple-scan
slack
spotify
ssb-patchwork
unstable.tor-browser-bundle-bin
vlc
wineFull
wireshark
wsjtx
xclip
xidlehook
yubico-piv-tool
yubikey-manager-qt
yubikey-personalization
yubikey-personalization-gui
zoom-us
];
};
}
qt = {
enable = true;
platformTheme = "gnome";
style.name = "adwaita-dark";
style.package = pkgs.adwaita-qt;
};
imports = [
./vscode.nix
];
home.packages = with pkgs; with pkgs.gnome3; with pkgs.python38Packages; [
anarchism
apvlv
binwalk-full
brave
cheese
digikam
discord
electrum
element-desktop
eog
evince
fontconfig
freecad
ghidra-bin
gimp
glxinfo
gnome-screenshot
gsettings-desktop-schemas
hopper
inkscape
keybase-gui
libreoffice
mindforger
modem-manager-gui
nautilus
nyxt
obs-studio
openscad
passff-host
pdfarranger
qcad
qemu
shotwell
signal-desktop
simple-scan
slack
spotify
ssb-patchwork
unstable.tor-browser-bundle-bin
vlc
wineFull
wireshark
wsjtx
xclip
xidlehook
yubico-piv-tool
yubikey-manager-qt
yubikey-personalization
yubikey-personalization-gui
zoom-us
];
};
}

View file

@ -15,114 +15,115 @@
};
buildInputs = with pkgs; [ llvm lldb python37 autoPatchelfHook ];
}
)
]
)
]
++
++
vscode-utils.extensionsFromVscodeMarketplace [
{
publisher = "vscodevim";
name = "vim";
version = "1.21.7";
sha256 = "sha256-nCcDafZ2CUhTjVha+6Mjxoil61xMGboO5lajc7dGEJg=";
}
{
publisher = "matklad";
name = "rust-analyzer";
version = "0.2.792";
sha256 = "sha256-OPSZ1sKVxgh8SN9UR8vtlICdznUXdaCkzNJBX5w1j9Q=";
}
{
publisher = "sjhuangx";
name = "vscode-scheme";
version = "0.4.0";
sha256 = "07vjfymvfv98s5r5a4b5iqhgfz1wpgq2l8h3wlq1bnhhhvmq5pq4";
}
{
publisher = "shaunlebron";
name = "vscode-parinfer";
version = "0.6.2";
sha256 = "0h4v4rnximy6rbh83y4s2qj1cqbj66g9wld39mzd0zwgi6ig9syd";
}
{
publisher = "swyphcosmo";
name = "spellchecker";
version = "1.2.13";
sha256 = "1lr33lf01afgi74c1a9gylk92li4hyq24l8bki4l6ggl4z4c2h3w";
}
{
publisher = "asabil";
name = "meson";
version = "1.1.1";
sha256 = "00cc28a2nb325f54bx51wf5q15x1pmsn0j9z6rnxxqxwii1dm5cl";
}
{
publisher = "bungcip";
name = "better-toml";
version = "0.3.2";
sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3";
}
{
publisher = "codezombiech";
name = "gitignore";
version = "0.6.0";
sha256 = "0gnc0691pwkd9s8ldqabmpfvj0236rw7bxvkf0bvmww32kv1ia0b";
}
{
publisher = "DavidAnson";
name = "vscode-markdownlint";
version = "0.26.0";
sha256 = "0g4pssvajn7d8p2547v7313gjyqx4pzs7cbjws2s3v2fk1sw7vbj";
}
{
publisher = "esbenp";
name = "prettier-vscode";
version = "1.8.1";
sha256 = "0qcm2784n9qc4p77my1kwqrswpji7bp895ay17yzs5g84cj010ln";
}
{
publisher = "hbenl";
name = "vscode-test-explorer";
version = "2.9.3";
sha256 = "1yf85hgvganxq5n5jff9ckn3smxd6xi79cgn6k53qi5w1r5rahy0";
}
{
publisher = "lextudio";
name = "restructuredtext";
version = "106.0.0";
sha256 = "096r8071202nxi1is6z7dghcmpsh0f0mm3mp3cfh1yj2mnyzlaxa";
}
{
publisher = "lostintangent";
name = "vsls-pomodoro";
version = "0.1.0";
sha256 = "1b73zbkhlhacvi18cx4g3n6randy3hw9cab1gkw5gzb3375w7w3p";
}
{
publisher = "lostintangent";
name = "vsls-whiteboard";
version = "0.0.8";
sha256 = "13fcay9bs861msb5y694casbw66dmhl504xm5cvprssx1qka186p";
}
{
publisher = "mechatroner";
name = "rainbow-csv";
version = "1.0.0";
sha256 = "1fyamgm7zq31r3c00cn6pcb66rrkfhwfmp72qnhrajydmnvcnbg6";
}
{
publisher = "ronnidc";
name = "nunjucks";
version = "0.2.3";
sha256 = "119xgyn1dggw2rcqkn2mnz364iw5jlrxg7pcydbijsqj5d3zdfsf";
}
{
publisher = "serayuzgur";
name = "crates";
version = "0.4.2";
sha256 = "1knspsc98cfw4mhc0yaz0f2185sxdf9kn9qsysfs6c82g9wjaqcj";
}
];})
vscode-utils.extensionsFromVscodeMarketplace [
{
publisher = "vscodevim";
name = "vim";
version = "1.21.7";
sha256 = "sha256-nCcDafZ2CUhTjVha+6Mjxoil61xMGboO5lajc7dGEJg=";
}
{
publisher = "matklad";
name = "rust-analyzer";
version = "0.2.792";
sha256 = "sha256-OPSZ1sKVxgh8SN9UR8vtlICdznUXdaCkzNJBX5w1j9Q=";
}
{
publisher = "sjhuangx";
name = "vscode-scheme";
version = "0.4.0";
sha256 = "07vjfymvfv98s5r5a4b5iqhgfz1wpgq2l8h3wlq1bnhhhvmq5pq4";
}
{
publisher = "shaunlebron";
name = "vscode-parinfer";
version = "0.6.2";
sha256 = "0h4v4rnximy6rbh83y4s2qj1cqbj66g9wld39mzd0zwgi6ig9syd";
}
{
publisher = "swyphcosmo";
name = "spellchecker";
version = "1.2.13";
sha256 = "1lr33lf01afgi74c1a9gylk92li4hyq24l8bki4l6ggl4z4c2h3w";
}
{
publisher = "asabil";
name = "meson";
version = "1.1.1";
sha256 = "00cc28a2nb325f54bx51wf5q15x1pmsn0j9z6rnxxqxwii1dm5cl";
}
{
publisher = "bungcip";
name = "better-toml";
version = "0.3.2";
sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3";
}
{
publisher = "codezombiech";
name = "gitignore";
version = "0.6.0";
sha256 = "0gnc0691pwkd9s8ldqabmpfvj0236rw7bxvkf0bvmww32kv1ia0b";
}
{
publisher = "DavidAnson";
name = "vscode-markdownlint";
version = "0.26.0";
sha256 = "0g4pssvajn7d8p2547v7313gjyqx4pzs7cbjws2s3v2fk1sw7vbj";
}
{
publisher = "esbenp";
name = "prettier-vscode";
version = "1.8.1";
sha256 = "0qcm2784n9qc4p77my1kwqrswpji7bp895ay17yzs5g84cj010ln";
}
{
publisher = "hbenl";
name = "vscode-test-explorer";
version = "2.9.3";
sha256 = "1yf85hgvganxq5n5jff9ckn3smxd6xi79cgn6k53qi5w1r5rahy0";
}
{
publisher = "lextudio";
name = "restructuredtext";
version = "106.0.0";
sha256 = "096r8071202nxi1is6z7dghcmpsh0f0mm3mp3cfh1yj2mnyzlaxa";
}
{
publisher = "lostintangent";
name = "vsls-pomodoro";
version = "0.1.0";
sha256 = "1b73zbkhlhacvi18cx4g3n6randy3hw9cab1gkw5gzb3375w7w3p";
}
{
publisher = "lostintangent";
name = "vsls-whiteboard";
version = "0.0.8";
sha256 = "13fcay9bs861msb5y694casbw66dmhl504xm5cvprssx1qka186p";
}
{
publisher = "mechatroner";
name = "rainbow-csv";
version = "1.0.0";
sha256 = "1fyamgm7zq31r3c00cn6pcb66rrkfhwfmp72qnhrajydmnvcnbg6";
}
{
publisher = "ronnidc";
name = "nunjucks";
version = "0.2.3";
sha256 = "119xgyn1dggw2rcqkn2mnz364iw5jlrxg7pcydbijsqj5d3zdfsf";
}
{
publisher = "serayuzgur";
name = "crates";
version = "0.4.2";
sha256 = "1knspsc98cfw4mhc0yaz0f2185sxdf9kn9qsysfs6c82g9wjaqcj";
}
];
}
})
];
}

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
( pass.withExtensions (ext: [ ext.pass-otp ext.pass-import ext.pass-genphrase ext.pass-audit ext.pass-update ]))
(pass.withExtensions (ext: [ ext.pass-otp ext.pass-import ext.pass-genphrase ext.pass-audit ext.pass-update ]))
apvlv
aria
atop
@ -31,6 +31,7 @@
mercurial
nix-index
nix-top
nixpkgs-fmt
pciutils
powertop
ranger

View file

@ -2,9 +2,9 @@
{
home.sessionVariables = {
LC_ALL="en_GB.UTF-8";
LANG="en_GB.UTF-8";
PASSWORD_STORE_ENABLE_EXTENSIONS="true";
LC_ALL = "en_GB.UTF-8";
LANG = "en_GB.UTF-8";
PASSWORD_STORE_ENABLE_EXTENSIONS = "true";
};
news.display = "show";
@ -14,7 +14,7 @@
glibcLocales
];
services.gpg-agent= {
services.gpg-agent = {
enable = true;
pinentryFlavor = "curses";
};

View file

@ -13,8 +13,7 @@
gpg = {
enable = true;
settings = {
};
settings = { };
};
taskwarrior.enable = true;
fzf.enable = true;

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{
home.sessionVariables = {
TERMINAL="alacritty";
TERMINAL = "alacritty";
};
programs.alacritty = {
@ -23,40 +23,40 @@
colors = {
primary = {
background= "0x002b36";
foreground= "0x839496";
background = "0x002b36";
foreground = "0x839496";
};
normal = {
black= "0x073642";
red= "0xdc322f";
green= "0x859900";
yellow= "0xb58900";
blue= "0x268bd2";
magenta= "0xd33682";
cyan= "0x2aa198";
white= "0xeee8d5";
black = "0x073642";
red = "0xdc322f";
green = "0x859900";
yellow = "0xb58900";
blue = "0x268bd2";
magenta = "0xd33682";
cyan = "0x2aa198";
white = "0xeee8d5";
};
bright = {
black= "0x002b36";
red= "0xcb4b16";
green= "0x586e75";
yellow= "0x657b83";
blue= "0x839496";
magenta= "0x6c71c4";
cyan= "0x93a1a1";
white= "0xfdf6e3";
black = "0x002b36";
red = "0xcb4b16";
green = "0x586e75";
yellow = "0x657b83";
blue = "0x839496";
magenta = "0x6c71c4";
cyan = "0x93a1a1";
white = "0xfdf6e3";
};
background_opacity = 0.9;
dynamic_title= true;
dynamic_title = true;
};
cursor= {
cursor = {
style = "Block";
unfocused_hollow= true;
unfocused_hollow = true;
};
live_config_reload= true;
live_config_reload = true;
};
};
}

View file

@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }:
{
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
imports = [
./home.nix
];

View file

@ -3,18 +3,18 @@ let
myEmacs = pkgs.emacs-nox;
emacsWithPackages = (pkgs.emacsPackagesGen myEmacs).emacsWithPackages;
in
emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
magit
solarized-theme
evil
])
++ (with epkgs.melpaPackages; [
xterm-color
nix-mode
])
++ (with epkgs.elpaPackages; [
beacon # ; highlight my cursor when scrolling
nameless # ; hide current package name everywhere in elisp code
]) ++ [
pkgs.notmuch # From main packages set
])
emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
magit
solarized-theme
evil
])
++ (with epkgs.melpaPackages; [
xterm-color
nix-mode
])
++ (with epkgs.elpaPackages; [
beacon # ; highlight my cursor when scrolling
nameless # ; hide current package name everywhere in elisp code
]) ++ [
pkgs.notmuch # From main packages set
])

View file

@ -1,4 +1,4 @@
{ pkgs ? import <nixpkgs> {} }:
{ pkgs ? import <nixpkgs> { } }:
with pkgs;
rustPlatform.buildRustPackage rec {
pname = "genpass";
@ -14,7 +14,9 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "1p6l64s9smhwka8bh3pamqimamxziad859i62nrmxzqc49nq5s7m";
buildInputs = [
openssl pkgconfig git
openssl
pkgconfig
git
];
meta = with stdenv.lib; {

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{
home.sessionVariables = {
TERMINAL="kitty";
TERMINAL = "kitty";
};
programs.kitty = {
@ -10,26 +10,26 @@
enable_audio_bell = false;
font_size = "16.0";
font_family = "FiraCode Nerd Font";
bold_font = "auto";
italic_font = "auto";
font_family = "FiraCode Nerd Font";
bold_font = "auto";
italic_font = "auto";
bold_italic_font = "auto";
background = "#001e26";
foreground = "#708183";
selection_foreground ="#93a1a1";
selection_foreground = "#93a1a1";
selection_background = "#002b36";
cursor = "#708183";
color0 = "#002731";
color1 = "#d01b24";
color2 = "#728905";
color3 = "#a57705";
color4 = "#2075c7";
color5 = "#c61b6e";
color6 = "#259185";
color7 = "#e9e2cb";
color8 = "#001e26";
color9 = "#bd3612";
color0 = "#002731";
color1 = "#d01b24";
color2 = "#728905";
color3 = "#a57705";
color4 = "#2075c7";
color5 = "#c61b6e";
color6 = "#259185";
color7 = "#e9e2cb";
color8 = "#001e26";
color9 = "#bd3612";
color10 = "#465a61";
color11 = "#52676f";
color12 = "#708183";

View file

@ -17,288 +17,288 @@
color article default default
'';
urls = [
{ url ="https://acoup.blog/feed/"; }
{ url ="https://blog.benjojo.co.uk/rss.xml"; }
{ url ="https://electronicsdeli.net/feed/"; }
{ url ="https://michael.stapelberg.ch/feed.xml"; }
{ url ="https://blog.nelhage.com/atom.xml"; }
{ url ="https://deninet.com/rss.xml"; }
{ url ="https://berthub.eu/articles/index.xml"; }
{ url ="https://ciko.io/index.xml"; }
{ url ="https://blog.thea.codes/feed.xml"; }
{ url ="https://ambrevar.xyz/atom.xml"; }
{ url ="https://openprivacy.ca/feed/discreet-log.xml"; }
{ url ="https://shealevy.com/blog/index.xml"; }
{ url ="https://oxide.computer/blog/index.xml"; }
{ url ="https://alecmuffett.com/article/tag/essay/feed"; }
{ url ="https://osarch.org/feed/"; }
{ url ="https://fosdem.org/2021/atom.xml"; }
{ url ="https://tailscale.com/blog/index.xml"; }
{ url ="https://nrdxp.dev/feed.xml"; }
{ url ="https://initialcommit.com/blog/rss.xml"; }
{ url ="https://ww.telent.net/news.rss"; }
{ url ="https://guix.gnu.org/feeds/blog.atom"; }
{ url ="https://blog.servo.org/feed.xml"; }
{ url ="https://www.radicalroutes.org.uk/?format=feed&type=atom"; }
{ url ="https://matklad.github.io/feed.xml"; }
{ url ="https://sfconservancy.org/feeds/blog/"; }
{ url ="https://sourcehut.org/blog/index.xml"; }
{ url ="https://openwrt.org/feed.php?type=rss&mode=list&sort=date&ns=advisory&linkto=current&content=html"; }
{ url ="https://nora.codes/index.xml"; }
{ url ="http://hackedfrompieces.wordpress.com/feed/"; }
{ url ="http://notonlyzeroesandones.site40.net/feed/"; }
{ url ="https://tonyarcieri.com/feed"; }
{ url ="https://www.destroyallsoftware.com/screencasts/feed"; }
{ url ="https://blog.liftsecurity.io/rss"; }
{ url ="http://mightyohm.com/blog/feed/"; }
{ url ="http://feeds.falkvinge.net/Falkvinge-on-Infopolicy"; }
{ url ="http://www.veronicabelmont.com/feed/"; }
{ url ="https://perplexinglyemma.blogspot.com/feeds/posts/default"; }
{ url ="http://www.davecooper.org/blog/feed/"; }
{ url ="http://hackaweek.com/hacks/?feed=rss2"; }
{ url ="https://www.hadean.com/blog/rss.xml"; }
{ url ="http://feeds.feedburner.com/malukah"; }
{ url ="http://jonasdn.blogspot.com/feeds/posts/default"; }
{ url ="https://www.destroyallsoftware.com/blog/index.xml"; }
{ url ="http://metajack.im/"; }
{ url ="https://haskell-at-work.com/feed.xml"; }
{ url ="http://temporal.pr0.pl/devblog/feed/"; }
{ url ="https://superevr.com/blog/feed/"; }
{ url ="http://thejoysofcode.com/rss"; }
{ url ="http://www.rsspect.com/rss/threeps.xml"; }
{ url ="http://brianzawesomeblog.blogspot.com/feeds/posts/default"; }
{ url ="http://ssj3gohan.tweakblogs.net/feed/"; }
{ url ="http://planet.mozilla.org/releng/atom.xml"; }
{ url ="https://grahamc.com/feed/"; }
{ url ="http://www.h-online.com/grand-atom.xml"; }
{ url ="https://jneem.github.io/feed.xml"; }
{ url ="http://blog.opensourceecology.org/feed/"; }
{ url ="http://pepijndevos.nl/atom.xml"; }
{ url ="https://wedistribute.org/feed/"; }
{ url ="http://www.wattnotions.com/feed/"; }
{ url ="https://blondihacks.com/feed/"; }
{ url ="http://ghcarm.wordpress.com/feed/"; }
{ url ="http://blog.tkjelectronics.dk/feed/"; }
{ url ="https://www.circuitlab.com/blog/feed/"; }
{ url ="http://danluu.com/atom.xml"; }
{ url ="http://silverwingedseraph.net/feed"; }
{ url ="http://takbardzozle.blogspot.com/feeds/posts/default"; }
{ url ="https://weekly.nixos.org/feeds/all.rss.xml"; }
{ url ="http://www.hscott.net/feed/"; }
{ url ="http://feeds.feedburner.com/kernelmag?format=xml"; }
{ url ="http://www.malwaretech.com/feeds/posts/default"; }
{ url ="https://nixos.org/blogs.xml"; }
{ url ="http://spaceismore.com/feed/"; }
{ url ="https://blog.cyplo.dev/index.xml"; }
{ url ="https://blog.kobol.io/feed.xml"; }
{ url ="http://blog.ffwll.ch/feeds/posts/default"; }
{ url ="http://blog.pnkfx.org/atom.xml"; }
{ url ="http://metaltronics.wordpress.com/feed/"; }
{ url ="http://ncrmnt.org/wp/feed/"; }
{ url ="http://www.arachnidlabs.com/atom.xml"; }
{ url ="http://blogs.valvesoftware.com/feed/"; }
{ url ="http://billmccloskey.wordpress.com/feed/"; }
{ url ="http://sparkleshare.org/feed/"; }
{ url ="http://osprintingllc.com/feed/"; }
{ url ="https://forum.openwrt.org/extern.php?action=feed&fid=11&type=rss"; }
{ url ="http://corgibytes.com/feed.xml"; }
{ url ="http://chatolandia.pl/feed/"; }
{ url ="http://niczsoft.com/feed/"; }
{ url ="http://blog.macrofab.net/feed/"; }
{ url ="http://hackaday.com/feed/"; }
{ url ="https://blog.uncensoreddns.org/feeds/atom/all/"; }
{ url ="http://www.paulallenengineering.com/1/feed"; }
{ url ="http://komornik.wroclaw.pl/index.php?option=com_rss&feed=RSS2.0&no_html=1"; }
{ url ="https://rachelbythebay.com/w/atom.xml"; }
{ url ="http://sliptonic.com/feed/"; }
{ url ="http://blog.unsecu.re/feeds/posts/default"; }
{ url ="http://neverworkintheory.org/feed.xml"; }
{ url ="http://kocikocizabci.blogspot.com/feeds/posts/default"; }
{ url ="https://blog.christophersmart.com/feed/"; }
{ url ="http://sarah.thesharps.us/feed/"; }
{ url ="http://explique.me/feed.xml"; }
{ url ="http://www.arcfn.com/feeds/posts/default"; }
{ url ="http://sunrider-vn.com/feed/"; }
{ url ="http://www.wrocnet.org/syndication.axd"; }
{ url ="http://www.goldsborough.me/feed.xml"; }
{ url ="http://blog.tilaa.nl/feeds/posts/default"; }
{ url ="http://latkin.org/blog/index.xml"; }
{ url ="https://ind.ie/blog/rss/index.xml"; }
{ url ="http://spritesmods.com/rss.php"; }
{ url ="http://codeascraft.etsy.com/feed/"; }
{ url ="http://chrisgammell.com/feed/"; }
{ url ="https://www.stellar.org/feed/"; }
{ url ="http://shenzhentrip.blogspot.com/feeds/posts/default"; }
{ url ="https://aphyr.com/posts.atom"; }
{ url ="http://www.latentlaboratories.com/blog?format=RSS"; }
{ url ="http://zentasrobots.com/feed/"; }
{ url ="http://grugq.github.io/atom.xml"; }
{ url ="http://gusclass.com/blog/feed/"; }
{ url ="http://www.devttys0.com/feed/"; }
{ url ="https://www.ruma.io/news/feed.atom"; }
{ url ="http://runawaybrainz.blogspot.com/feeds/posts/default"; }
{ url ="http://blog.ploeh.dk/rss.xml"; }
{ url ="http://lab.whitequark.org/atom.xml"; }
{ url ="http://rroarr.blog.pl/index.rss"; }
{ url ="http://slic3r.org/rss"; }
{ url ="http://feeds.feedburner.com/EmbeddedInAcademia"; }
{ url ="http://mightydevices.com/?feed=rss2"; }
{ url ="http://www.cppwroclaw.pl/dokuwiki/feed.php"; }
{ url ="http://pagekite.net/Blog?rss=1"; }
{ url ="http://iradan.com/?feed=rss2"; }
{ url ="http://tirania.org/blog/miguel.rss2"; }
{ url ="http://the-missing-link-of-agile.com/feed/"; }
{ url ="http://www.kroah.com/log/index.rss"; }
{ url ="http://ebldc.com/?feed=rss2"; }
{ url ="http://codegangsta.io/atom.xml"; }
{ url ="http://intorust.com/feed.xml"; }
{ url ="http://carol-nichols.com/feed.xml"; }
{ url ="http://blogs.msdn.com/b/ericlippert/atom.aspx"; }
{ url ="http://kroah.com/log/index.rss"; }
{ url ="http://quinndunki.com/blondihacks/?feed=rss2"; }
{ url ="http://gerrysweeney.com/feed/"; }
{ url ="http://cybergibbons.com/feed/"; }
{ url ="https://freedom-to-tinker.com/feed/"; }
{ url ="http://sealedabstract.com/feed/"; }
{ url ="http://hermanradtke.com/atom.xml"; }
{ url ="http://feeds.feedburner.com/plainlystated/xtwL?format=xml"; }
{ url ="http://www.mdswanson.com/atom.xml"; }
{ url ="http://feeds.feedburner.com/thegrue"; }
{ url ="https://gergely.imreh.net/blog/feed/"; }
{ url ="http://www.sigrok.org/blog/rss.xml"; }
{ url ="https://thesquareplanet.com/feed.xml"; }
{ url ="http://feedpress.me/inessential"; }
{ url ="http://wheningit.tumblr.com/rss"; }
{ url ="http://b.truzzi.me/?feed=rss2"; }
{ url ="https://blog.conformal.com/feed/"; }
{ url ="http://windytan.blogspot.com/feeds/posts/default"; }
{ url ="http://www.logicalelegance.com/journey/feed/"; }
{ url ="https://www.adafruit.com/blog/feed/"; }
{ url ="https://electronichamsters.wordpress.com/feed/"; }
{ url ="http://security.goatse.fr/feed"; }
{ url ="http://panoptykon.org/rss.xml"; }
{ url ="http://blog.piston.rs/atom.xml"; }
{ url ="http://tenderlovemaking.com/atom.xml"; }
{ url ="http://www.wired.com/threatlevel/feed/"; }
{ url ="http://onethingwell.org/rss"; }
{ url ="http://serialized.net/rss.xml"; }
{ url ="http://aosabook.org/blog/feeds/all.atom.xml"; }
{ url ="http://www.alicegrove.com/rss"; }
{ url ="http://www.konradokonski.com/KWD/feed/"; }
{ url ="http://way-cooler.org/feed.xml"; }
{ url ="http://antygea.blogspot.com/feeds/posts/default"; }
{ url ="http://blog.gameagent.com/feed/"; }
{ url ="http://llogiq.github.io/feed.xml"; }
{ url ="http://lambda-the-ultimate.org/rss.xml"; }
{ url ="https://soldernerd.com/feed/"; }
{ url ="http://www.0xrage.com/?feed=rss2"; }
{ url ="http://www.bitscope.com/blog/feed.xml"; }
{ url ="http://theprofoundprogrammer.com/rss"; }
{ url ="http://essentialscrap.com/rss.xml"; }
{ url ="http://handmade.hackaday.com/feed/"; }
{ url ="http://events.ccc.de/feed/"; }
{ url ="http://www.estechnical.co.uk/blog/latest?format=feed&type=rss"; }
{ url ="http://perso.aquilenet.fr/~sven337/feeds/feed_english.xml"; }
{ url ="http://blog.trailofbits.com/feed/"; }
{ url ="https://michaelwoerister.github.io/feed.xml"; }
{ url ="http://nitschinger.at//index.xml"; }
{ url ="http://lambdaops.com/feed"; }
{ url ="http://simon-says-architecture.com/feed/"; }
{ url ="https://sha2017.org/rss.xml"; }
{ url ="http://www.davidhunt.ie/feed/"; }
{ url ="https://begriffs.com/atom.xml"; }
{ url ="http://dankaminsky.com/feed/"; }
{ url ="http://www.analogzoo.com/feed/"; }
{ url ="http://blog.makezine.com/feed/"; }
{ url ="http://wot.lv/feeds/all.atom.xml"; }
{ url ="http://www.bunniestudios.com/blog/?feed=rss2"; }
{ url ="http://lukelectro.wordpress.com/feed/"; }
{ url ="http://buffered.io/index.xml"; }
{ url ="http://www.yesodweb.com/feed"; }
{ url ="http://lcamtuf.blogspot.com/feeds/posts/default"; }
{ url ="http://feeds.feedburner.com/schneier/fulltext"; }
{ url ="https://simplysecure.org/feed.xml"; }
{ url ="http://maryrosecook.com/blog/feed"; }
{ url ="https://nathanleclaire.com/index.xml"; }
{ url ="http://downingsbasement.com/feed/"; }
{ url ="http://www.pxdojo.net/feeds/posts/default"; }
{ url ="http://fulmicoton.com/atom.xml"; }
{ url ="http://rys.io/en/rss"; }
{ url ="https://rust-embedded.github.io/blog/rss.xml"; }
{ url ="https://pointersgonewild.com/feed/"; }
{ url ="http://blog.cryptographyengineering.com/feeds/posts/default"; }
{ url ="http://www.hardhack.org/feed/"; }
{ url ="http://blog.system76.com/rss"; }
{ url ="https://www.mailpile.is/blog/index.rss"; }
{ url ="https://blog.rustfest.eu/feed.xml"; }
{ url ="https://spideroak.com/blog/feed"; }
{ url ="http://nullr0ute.com/feed/"; }
{ url ="http://xion.io/feeds/atom.xml"; }
{ url ="http://blog.mozilla.org/nfroyd/feed/"; }
{ url ="http://anniemachon.ch/feed"; }
{ url ="http://befinitiv.wordpress.com/feed/"; }
{ url ="http://www.2600.com/rss.xml"; }
{ url ="http://www.planet-rust.com/atom.xml"; }
{ url ="http://www.elidedbranches.com/feeds/posts/default"; }
{ url ="http://www.eevblog.com/feed/"; }
{ url ="http://www.questionablecontent.net/QCRSS.xml"; }
{ url ="http://davidegironi.blogspot.com/feeds/posts/default"; }
{ url ="http://intorust.com/blog/feed.xml"; }
{ url ="http://londyn.msz.gov.pl/rss/ambasadalondynaktualnosci.xml450"; }
{ url ="http://www.thegamercat.com/feed/"; }
{ url ="http://feeds.feedburner.com/gadgetfactory/zjHC"; }
{ url ="http://embedderslife.wordpress.com/feed/"; }
{ url ="http://blog.ctf365.com/feed/"; }
{ url ="http://owncloud.org/news/feed/"; }
{ url ="http://jreeblog.wordpress.com/feed/"; }
{ url ="http://www.wildcircuits.com/feeds/posts/default"; }
{ url ="http://www.raspberrypi.org/feed"; }
{ url ="https://apollo.open-resource.org/mission:log:feed"; }
{ url ="http://bikerglen.com/blog/feed/"; }
{ url ="http://www.crypto.com/blog/rss20.xml"; }
{ url ="https://www.platymuus.com/feed.xml"; }
{ url ="http://oneweekwonder.blogspot.com/feeds/posts/default"; }
{ url ="https://blog.mozilla.org/thunderbird/feed/"; }
{ url ="https://blog.mozilla.org/research/feed/"; }
{ url ="http://thesignalpath.com/blogs/feed/"; }
{ url ="http://www.daemonology.net/blog/index.rss"; }
{ url ="http://dangerousprototypes.com/feed/"; }
{ url ="https://www.trueos.org/feed/"; }
{ url ="http://nautil.us/rss/all"; }
{ url ="http://blog.computationalcomplexity.org/feeds/posts/default"; }
{ url ="http://blog.humblebundle.com/rss"; }
{ url ="https://copperhead.co/feed.xml"; }
{ url ="http://blog.xamarin.com/feed/"; }
{ url ="http://coreos.com/atom.xml"; }
{ url ="http://lowpowerlab.com/feed/"; }
{ url ="http://feeds.feedburner.com/TheBitBangTheory_en?format=xml"; }
{ url ="http://feeds.feedburner.com/TheLifeOfKenneth"; }
{ url ="http://feeds.feedburner.com/zotero/"; }
{ url ="http://corporat.blox.pl/rss2"; }
{ url ="http://www.willowgarage.com/news/feed"; }
{ url ="https://stripe.com/blog/feed.rss"; }
{ url ="http://nakedsecurity.sophos.com/feed/"; }
{ url ="https://www.braintreepayments.com/rss"; }
{ url ="http://edri.org/feed/"; }
{ url ="https://ruudvanasseldonk.com/feed.xml"; }
{ url ="http://www.lowrisc.org//index.xml"; }
{ url ="http://feeds.feedburner.com/Phoronix"; }
{ url ="http://jvns.ca/atom.xml"; }
{ url ="http://feeds.feedburner.com/steveklabnik/words"; }
{ url ="https://blog.torproject.org/blog/feed"; }
{ url ="http://this-week-in-rust.org/atom.xml"; }
{ url ="http://opensource.com/feed"; }
{ url ="http://blog.elementary.io/rss"; }
{ url ="https://www.insinuator.net/feed/"; }
{ url ="https://www.mapbox.com/blog/blog.rss"; }
{ url ="http://www.harmj0y.net/blog/feed/"; }
{ url ="http://codurance.com/atom.xml"; }
{ url ="https://blog.makersacademy.com/feed"; }
{ url ="https://sensepost.com/rss.xml"; }
{ url ="https://www.evilsocket.net/atom.xml"; }
{ url ="https://krebsonsecurity.com/feed/"; }
{ url ="https://tisiphone.net/feed/"; }
{ url ="https://blog.bastion.rs/feed.xml"; }
{ url = "https://acoup.blog/feed/"; }
{ url = "https://blog.benjojo.co.uk/rss.xml"; }
{ url = "https://electronicsdeli.net/feed/"; }
{ url = "https://michael.stapelberg.ch/feed.xml"; }
{ url = "https://blog.nelhage.com/atom.xml"; }
{ url = "https://deninet.com/rss.xml"; }
{ url = "https://berthub.eu/articles/index.xml"; }
{ url = "https://ciko.io/index.xml"; }
{ url = "https://blog.thea.codes/feed.xml"; }
{ url = "https://ambrevar.xyz/atom.xml"; }
{ url = "https://openprivacy.ca/feed/discreet-log.xml"; }
{ url = "https://shealevy.com/blog/index.xml"; }
{ url = "https://oxide.computer/blog/index.xml"; }
{ url = "https://alecmuffett.com/article/tag/essay/feed"; }
{ url = "https://osarch.org/feed/"; }
{ url = "https://fosdem.org/2021/atom.xml"; }
{ url = "https://tailscale.com/blog/index.xml"; }
{ url = "https://nrdxp.dev/feed.xml"; }
{ url = "https://initialcommit.com/blog/rss.xml"; }
{ url = "https://ww.telent.net/news.rss"; }
{ url = "https://guix.gnu.org/feeds/blog.atom"; }
{ url = "https://blog.servo.org/feed.xml"; }
{ url = "https://www.radicalroutes.org.uk/?format=feed&type=atom"; }
{ url = "https://matklad.github.io/feed.xml"; }
{ url = "https://sfconservancy.org/feeds/blog/"; }
{ url = "https://sourcehut.org/blog/index.xml"; }
{ url = "https://openwrt.org/feed.php?type=rss&mode=list&sort=date&ns=advisory&linkto=current&content=html"; }
{ url = "https://nora.codes/index.xml"; }
{ url = "http://hackedfrompieces.wordpress.com/feed/"; }
{ url = "http://notonlyzeroesandones.site40.net/feed/"; }
{ url = "https://tonyarcieri.com/feed"; }
{ url = "https://www.destroyallsoftware.com/screencasts/feed"; }
{ url = "https://blog.liftsecurity.io/rss"; }
{ url = "http://mightyohm.com/blog/feed/"; }
{ url = "http://feeds.falkvinge.net/Falkvinge-on-Infopolicy"; }
{ url = "http://www.veronicabelmont.com/feed/"; }
{ url = "https://perplexinglyemma.blogspot.com/feeds/posts/default"; }
{ url = "http://www.davecooper.org/blog/feed/"; }
{ url = "http://hackaweek.com/hacks/?feed=rss2"; }
{ url = "https://www.hadean.com/blog/rss.xml"; }
{ url = "http://feeds.feedburner.com/malukah"; }
{ url = "http://jonasdn.blogspot.com/feeds/posts/default"; }
{ url = "https://www.destroyallsoftware.com/blog/index.xml"; }
{ url = "http://metajack.im/"; }
{ url = "https://haskell-at-work.com/feed.xml"; }
{ url = "http://temporal.pr0.pl/devblog/feed/"; }
{ url = "https://superevr.com/blog/feed/"; }
{ url = "http://thejoysofcode.com/rss"; }
{ url = "http://www.rsspect.com/rss/threeps.xml"; }
{ url = "http://brianzawesomeblog.blogspot.com/feeds/posts/default"; }
{ url = "http://ssj3gohan.tweakblogs.net/feed/"; }
{ url = "http://planet.mozilla.org/releng/atom.xml"; }
{ url = "https://grahamc.com/feed/"; }
{ url = "http://www.h-online.com/grand-atom.xml"; }
{ url = "https://jneem.github.io/feed.xml"; }
{ url = "http://blog.opensourceecology.org/feed/"; }
{ url = "http://pepijndevos.nl/atom.xml"; }
{ url = "https://wedistribute.org/feed/"; }
{ url = "http://www.wattnotions.com/feed/"; }
{ url = "https://blondihacks.com/feed/"; }
{ url = "http://ghcarm.wordpress.com/feed/"; }
{ url = "http://blog.tkjelectronics.dk/feed/"; }
{ url = "https://www.circuitlab.com/blog/feed/"; }
{ url = "http://danluu.com/atom.xml"; }
{ url = "http://silverwingedseraph.net/feed"; }
{ url = "http://takbardzozle.blogspot.com/feeds/posts/default"; }
{ url = "https://weekly.nixos.org/feeds/all.rss.xml"; }
{ url = "http://www.hscott.net/feed/"; }
{ url = "http://feeds.feedburner.com/kernelmag?format=xml"; }
{ url = "http://www.malwaretech.com/feeds/posts/default"; }
{ url = "https://nixos.org/blogs.xml"; }
{ url = "http://spaceismore.com/feed/"; }
{ url = "https://blog.cyplo.dev/index.xml"; }
{ url = "https://blog.kobol.io/feed.xml"; }
{ url = "http://blog.ffwll.ch/feeds/posts/default"; }
{ url = "http://blog.pnkfx.org/atom.xml"; }
{ url = "http://metaltronics.wordpress.com/feed/"; }
{ url = "http://ncrmnt.org/wp/feed/"; }
{ url = "http://www.arachnidlabs.com/atom.xml"; }
{ url = "http://blogs.valvesoftware.com/feed/"; }
{ url = "http://billmccloskey.wordpress.com/feed/"; }
{ url = "http://sparkleshare.org/feed/"; }
{ url = "http://osprintingllc.com/feed/"; }
{ url = "https://forum.openwrt.org/extern.php?action=feed&fid=11&type=rss"; }
{ url = "http://corgibytes.com/feed.xml"; }
{ url = "http://chatolandia.pl/feed/"; }
{ url = "http://niczsoft.com/feed/"; }
{ url = "http://blog.macrofab.net/feed/"; }
{ url = "http://hackaday.com/feed/"; }
{ url = "https://blog.uncensoreddns.org/feeds/atom/all/"; }
{ url = "http://www.paulallenengineering.com/1/feed"; }
{ url = "http://komornik.wroclaw.pl/index.php?option=com_rss&feed=RSS2.0&no_html=1"; }
{ url = "https://rachelbythebay.com/w/atom.xml"; }
{ url = "http://sliptonic.com/feed/"; }
{ url = "http://blog.unsecu.re/feeds/posts/default"; }
{ url = "http://neverworkintheory.org/feed.xml"; }
{ url = "http://kocikocizabci.blogspot.com/feeds/posts/default"; }
{ url = "https://blog.christophersmart.com/feed/"; }
{ url = "http://sarah.thesharps.us/feed/"; }
{ url = "http://explique.me/feed.xml"; }
{ url = "http://www.arcfn.com/feeds/posts/default"; }
{ url = "http://sunrider-vn.com/feed/"; }
{ url = "http://www.wrocnet.org/syndication.axd"; }
{ url = "http://www.goldsborough.me/feed.xml"; }
{ url = "http://blog.tilaa.nl/feeds/posts/default"; }
{ url = "http://latkin.org/blog/index.xml"; }
{ url = "https://ind.ie/blog/rss/index.xml"; }
{ url = "http://spritesmods.com/rss.php"; }
{ url = "http://codeascraft.etsy.com/feed/"; }
{ url = "http://chrisgammell.com/feed/"; }
{ url = "https://www.stellar.org/feed/"; }
{ url = "http://shenzhentrip.blogspot.com/feeds/posts/default"; }
{ url = "https://aphyr.com/posts.atom"; }
{ url = "http://www.latentlaboratories.com/blog?format=RSS"; }
{ url = "http://zentasrobots.com/feed/"; }
{ url = "http://grugq.github.io/atom.xml"; }
{ url = "http://gusclass.com/blog/feed/"; }
{ url = "http://www.devttys0.com/feed/"; }
{ url = "https://www.ruma.io/news/feed.atom"; }
{ url = "http://runawaybrainz.blogspot.com/feeds/posts/default"; }
{ url = "http://blog.ploeh.dk/rss.xml"; }
{ url = "http://lab.whitequark.org/atom.xml"; }
{ url = "http://rroarr.blog.pl/index.rss"; }
{ url = "http://slic3r.org/rss"; }
{ url = "http://feeds.feedburner.com/EmbeddedInAcademia"; }
{ url = "http://mightydevices.com/?feed=rss2"; }
{ url = "http://www.cppwroclaw.pl/dokuwiki/feed.php"; }
{ url = "http://pagekite.net/Blog?rss=1"; }
{ url = "http://iradan.com/?feed=rss2"; }
{ url = "http://tirania.org/blog/miguel.rss2"; }
{ url = "http://the-missing-link-of-agile.com/feed/"; }
{ url = "http://www.kroah.com/log/index.rss"; }
{ url = "http://ebldc.com/?feed=rss2"; }
{ url = "http://codegangsta.io/atom.xml"; }
{ url = "http://intorust.com/feed.xml"; }
{ url = "http://carol-nichols.com/feed.xml"; }
{ url = "http://blogs.msdn.com/b/ericlippert/atom.aspx"; }
{ url = "http://kroah.com/log/index.rss"; }
{ url = "http://quinndunki.com/blondihacks/?feed=rss2"; }
{ url = "http://gerrysweeney.com/feed/"; }
{ url = "http://cybergibbons.com/feed/"; }
{ url = "https://freedom-to-tinker.com/feed/"; }
{ url = "http://sealedabstract.com/feed/"; }
{ url = "http://hermanradtke.com/atom.xml"; }
{ url = "http://feeds.feedburner.com/plainlystated/xtwL?format=xml"; }
{ url = "http://www.mdswanson.com/atom.xml"; }
{ url = "http://feeds.feedburner.com/thegrue"; }
{ url = "https://gergely.imreh.net/blog/feed/"; }
{ url = "http://www.sigrok.org/blog/rss.xml"; }
{ url = "https://thesquareplanet.com/feed.xml"; }
{ url = "http://feedpress.me/inessential"; }
{ url = "http://wheningit.tumblr.com/rss"; }
{ url = "http://b.truzzi.me/?feed=rss2"; }
{ url = "https://blog.conformal.com/feed/"; }
{ url = "http://windytan.blogspot.com/feeds/posts/default"; }
{ url = "http://www.logicalelegance.com/journey/feed/"; }
{ url = "https://www.adafruit.com/blog/feed/"; }
{ url = "https://electronichamsters.wordpress.com/feed/"; }
{ url = "http://security.goatse.fr/feed"; }
{ url = "http://panoptykon.org/rss.xml"; }
{ url = "http://blog.piston.rs/atom.xml"; }
{ url = "http://tenderlovemaking.com/atom.xml"; }
{ url = "http://www.wired.com/threatlevel/feed/"; }
{ url = "http://onethingwell.org/rss"; }
{ url = "http://serialized.net/rss.xml"; }
{ url = "http://aosabook.org/blog/feeds/all.atom.xml"; }
{ url = "http://www.alicegrove.com/rss"; }
{ url = "http://www.konradokonski.com/KWD/feed/"; }
{ url = "http://way-cooler.org/feed.xml"; }
{ url = "http://antygea.blogspot.com/feeds/posts/default"; }
{ url = "http://blog.gameagent.com/feed/"; }
{ url = "http://llogiq.github.io/feed.xml"; }
{ url = "http://lambda-the-ultimate.org/rss.xml"; }
{ url = "https://soldernerd.com/feed/"; }
{ url = "http://www.0xrage.com/?feed=rss2"; }
{ url = "http://www.bitscope.com/blog/feed.xml"; }
{ url = "http://theprofoundprogrammer.com/rss"; }
{ url = "http://essentialscrap.com/rss.xml"; }
{ url = "http://handmade.hackaday.com/feed/"; }
{ url = "http://events.ccc.de/feed/"; }
{ url = "http://www.estechnical.co.uk/blog/latest?format=feed&type=rss"; }
{ url = "http://perso.aquilenet.fr/~sven337/feeds/feed_english.xml"; }
{ url = "http://blog.trailofbits.com/feed/"; }
{ url = "https://michaelwoerister.github.io/feed.xml"; }
{ url = "http://nitschinger.at//index.xml"; }
{ url = "http://lambdaops.com/feed"; }
{ url = "http://simon-says-architecture.com/feed/"; }
{ url = "https://sha2017.org/rss.xml"; }
{ url = "http://www.davidhunt.ie/feed/"; }
{ url = "https://begriffs.com/atom.xml"; }
{ url = "http://dankaminsky.com/feed/"; }
{ url = "http://www.analogzoo.com/feed/"; }
{ url = "http://blog.makezine.com/feed/"; }
{ url = "http://wot.lv/feeds/all.atom.xml"; }
{ url = "http://www.bunniestudios.com/blog/?feed=rss2"; }
{ url = "http://lukelectro.wordpress.com/feed/"; }
{ url = "http://buffered.io/index.xml"; }
{ url = "http://www.yesodweb.com/feed"; }
{ url = "http://lcamtuf.blogspot.com/feeds/posts/default"; }
{ url = "http://feeds.feedburner.com/schneier/fulltext"; }
{ url = "https://simplysecure.org/feed.xml"; }
{ url = "http://maryrosecook.com/blog/feed"; }
{ url = "https://nathanleclaire.com/index.xml"; }
{ url = "http://downingsbasement.com/feed/"; }
{ url = "http://www.pxdojo.net/feeds/posts/default"; }
{ url = "http://fulmicoton.com/atom.xml"; }
{ url = "http://rys.io/en/rss"; }
{ url = "https://rust-embedded.github.io/blog/rss.xml"; }
{ url = "https://pointersgonewild.com/feed/"; }
{ url = "http://blog.cryptographyengineering.com/feeds/posts/default"; }
{ url = "http://www.hardhack.org/feed/"; }
{ url = "http://blog.system76.com/rss"; }
{ url = "https://www.mailpile.is/blog/index.rss"; }
{ url = "https://blog.rustfest.eu/feed.xml"; }
{ url = "https://spideroak.com/blog/feed"; }
{ url = "http://nullr0ute.com/feed/"; }
{ url = "http://xion.io/feeds/atom.xml"; }
{ url = "http://blog.mozilla.org/nfroyd/feed/"; }
{ url = "http://anniemachon.ch/feed"; }
{ url = "http://befinitiv.wordpress.com/feed/"; }
{ url = "http://www.2600.com/rss.xml"; }
{ url = "http://www.planet-rust.com/atom.xml"; }
{ url = "http://www.elidedbranches.com/feeds/posts/default"; }
{ url = "http://www.eevblog.com/feed/"; }
{ url = "http://www.questionablecontent.net/QCRSS.xml"; }
{ url = "http://davidegironi.blogspot.com/feeds/posts/default"; }
{ url = "http://intorust.com/blog/feed.xml"; }
{ url = "http://londyn.msz.gov.pl/rss/ambasadalondynaktualnosci.xml450"; }
{ url = "http://www.thegamercat.com/feed/"; }
{ url = "http://feeds.feedburner.com/gadgetfactory/zjHC"; }
{ url = "http://embedderslife.wordpress.com/feed/"; }
{ url = "http://blog.ctf365.com/feed/"; }
{ url = "http://owncloud.org/news/feed/"; }
{ url = "http://jreeblog.wordpress.com/feed/"; }
{ url = "http://www.wildcircuits.com/feeds/posts/default"; }
{ url = "http://www.raspberrypi.org/feed"; }
{ url = "https://apollo.open-resource.org/mission:log:feed"; }
{ url = "http://bikerglen.com/blog/feed/"; }
{ url = "http://www.crypto.com/blog/rss20.xml"; }
{ url = "https://www.platymuus.com/feed.xml"; }
{ url = "http://oneweekwonder.blogspot.com/feeds/posts/default"; }
{ url = "https://blog.mozilla.org/thunderbird/feed/"; }
{ url = "https://blog.mozilla.org/research/feed/"; }
{ url = "http://thesignalpath.com/blogs/feed/"; }
{ url = "http://www.daemonology.net/blog/index.rss"; }
{ url = "http://dangerousprototypes.com/feed/"; }
{ url = "https://www.trueos.org/feed/"; }
{ url = "http://nautil.us/rss/all"; }
{ url = "http://blog.computationalcomplexity.org/feeds/posts/default"; }
{ url = "http://blog.humblebundle.com/rss"; }
{ url = "https://copperhead.co/feed.xml"; }
{ url = "http://blog.xamarin.com/feed/"; }
{ url = "http://coreos.com/atom.xml"; }
{ url = "http://lowpowerlab.com/feed/"; }
{ url = "http://feeds.feedburner.com/TheBitBangTheory_en?format=xml"; }
{ url = "http://feeds.feedburner.com/TheLifeOfKenneth"; }
{ url = "http://feeds.feedburner.com/zotero/"; }
{ url = "http://corporat.blox.pl/rss2"; }
{ url = "http://www.willowgarage.com/news/feed"; }
{ url = "https://stripe.com/blog/feed.rss"; }
{ url = "http://nakedsecurity.sophos.com/feed/"; }
{ url = "https://www.braintreepayments.com/rss"; }
{ url = "http://edri.org/feed/"; }
{ url = "https://ruudvanasseldonk.com/feed.xml"; }
{ url = "http://www.lowrisc.org//index.xml"; }
{ url = "http://feeds.feedburner.com/Phoronix"; }
{ url = "http://jvns.ca/atom.xml"; }
{ url = "http://feeds.feedburner.com/steveklabnik/words"; }
{ url = "https://blog.torproject.org/blog/feed"; }
{ url = "http://this-week-in-rust.org/atom.xml"; }
{ url = "http://opensource.com/feed"; }
{ url = "http://blog.elementary.io/rss"; }
{ url = "https://www.insinuator.net/feed/"; }
{ url = "https://www.mapbox.com/blog/blog.rss"; }
{ url = "http://www.harmj0y.net/blog/feed/"; }
{ url = "http://codurance.com/atom.xml"; }
{ url = "https://blog.makersacademy.com/feed"; }
{ url = "https://sensepost.com/rss.xml"; }
{ url = "https://www.evilsocket.net/atom.xml"; }
{ url = "https://krebsonsecurity.com/feed/"; }
{ url = "https://tisiphone.net/feed/"; }
{ url = "https://blog.bastion.rs/feed.xml"; }
];
};
}

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{
home.sessionVariables = {
TERMINAL="termite";
TERMINAL = "termite";
};
programs.termite = {
enable = true;

View file

@ -4,8 +4,8 @@
enable = true;
shortcut = "a";
extraConfig = ''
set -g status off
set -g mouse on
set -g status off
set -g mouse on
'';
};
}

View file

@ -2,52 +2,52 @@
let
unstable = inputs.nixpkgs-nixos-unstable.legacyPackages.${pkgs.system};
in
{
home.file.".vimrc".source = ../../../.vimrc.nixos;
home.packages = with pkgs; [
ripgrep
];
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
withNodeJs = true;
withPython3 = true;
withRuby = true;
package = unstable.neovim-unwrapped;
{
home.file.".vimrc".source = ../../../.vimrc.nixos;
home.packages = with pkgs; [
ripgrep
];
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
withNodeJs = true;
withPython3 = true;
withRuby = true;
package = unstable.neovim-unwrapped;
plugins = with pkgs.vimPlugins; [
ack-vim
coc-highlight
coc-nvim
coc-rust-analyzer
ctrlp-vim
editorconfig-vim
fzf-vim
quickfix-reflector-vim
rainbow
tabular
vim-airline
vim-airline-themes
vim-autoformat
vim-colors-solarized
vim-devicons
vim-dirdiff
vim-dispatch
vim-fugitive
vim-gitgutter
vim-markdown
vim-nix
vim-sensible
vim-startify
vim-surround
vim-toml
];
extraConfig = ''
if filereadable($HOME . "/.vimrc")
source $HOME/.vimrc
endif
'';
};
}
plugins = with pkgs.vimPlugins; [
ack-vim
coc-highlight
coc-nvim
coc-rust-analyzer
ctrlp-vim
editorconfig-vim
fzf-vim
quickfix-reflector-vim
rainbow
tabular
vim-airline
vim-airline-themes
vim-autoformat
vim-colors-solarized
vim-devicons
vim-dirdiff
vim-dispatch
vim-fugitive
vim-gitgutter
vim-markdown
vim-nix
vim-sensible
vim-startify
vim-surround
vim-toml
];
extraConfig = ''
if filereadable($HOME . "/.vimrc")
source $HOME/.vimrc
endif
'';
};
}

View file

@ -1,101 +1,108 @@
{ config, pkgs, ... }:
{
programs.zsh = {
enable = true;
history = {
size = 102400;
save = 102400;
ignoreDups = true;
expireDuplicatesFirst = true;
share = true;
{
programs.zsh = {
enable = true;
history = {
size = 102400;
save = 102400;
ignoreDups = true;
expireDuplicatesFirst = true;
share = true;
};
enableAutosuggestions = true;
enableCompletion = true;
oh-my-zsh = {
enable = true;
plugins = [ "vi-mode" "git" "python" "history-substring-search" "tmux" ];
};
initExtra = ''
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=238'
setopt HIST_IGNORE_ALL_DUPS
'';
profileExtra = ''
export PATH="$HOME/programs:$PATH";
export PATH="$HOME/tools:$PATH";
export PATH="$HOME/bin:$PATH";
export PATH="$HOME/.local/bin:$PATH";
export PATH="$GOPATH/bin:$PATH";
export PATH="$HOME/.rvm/bin:$PATH";
export PATH="$HOME/.cargo/bin:$PATH";
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH";
'';
envExtra = ''
[ -s "/home/cyryl/.jabba/jabba.sh" ] && source "/home/cyryl/.jabba/jabba.sh"
tmux source-file ~/.config/tmux/tmux.conf
local nixos_version=`which nixos-version`
if [[ ! -x "$nixos_version" ]]; then
source /home/cyryl/.nix-profile/etc/profile.d/nix.sh
export NIX_PATH="$HOME/.nix-defexpr/channels:$NIX_PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
echo "non-nixos patches loaded"
fi
'';
sessionVariables = {
TERM="xterm-256color";
EDITOR="vim";
VISUAL="vim";
PAGER="less";
ZSH_TMUX_AUTOSTART=true;
GOPATH="$HOME/go";
};
shellAliases = {
tmate = "tmux detach-client -E 'tmate;tmux'";
cat = "bat -p";
rg = "rga";
};
};
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv = {
enable = true;
};
};
home.file.".config/starship.toml".text =''
[aws]
disabled = true
enableAutosuggestions = true;
enableCompletion = true;
[battery]
full_symbol = ""
charging_symbol = ""
discharging_symbol = ""
oh-my-zsh = {
enable = true;
plugins = [ "vi-mode" "git" "python" "history-substring-search" "tmux" ];
};
[[battery.display]]
threshold = 10
style = "bold red"
initExtra = ''
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=238'
setopt HIST_IGNORE_ALL_DUPS
'';
[[battery.display]]
threshold = 30
style = "bold yellow"
profileExtra = ''
export PATH="$HOME/programs:$PATH";
export PATH="$HOME/tools:$PATH";
export PATH="$HOME/bin:$PATH";
export PATH="$HOME/.local/bin:$PATH";
export PATH="$GOPATH/bin:$PATH";
export PATH="$HOME/.rvm/bin:$PATH";
export PATH="$HOME/.cargo/bin:$PATH";
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH";
'';
[memory_usage]
disabled = false
envExtra = ''
[ -s "/home/cyryl/.jabba/jabba.sh" ] && source "/home/cyryl/.jabba/jabba.sh"
tmux source-file ~/.config/tmux/tmux.conf
local nixos_version=`which nixos-version`
if [[ ! -x "$nixos_version" ]]; then
source /home/cyryl/.nix-profile/etc/profile.d/nix.sh
export NIX_PATH="$HOME/.nix-defexpr/channels:$NIX_PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
echo "non-nixos patches loaded"
fi
'';
[git_branch]
symbol = "git "
sessionVariables = {
TERM = "xterm-256color";
EDITOR = "vim";
VISUAL = "vim";
PAGER = "less";
ZSH_TMUX_AUTOSTART = true;
GOPATH = "$HOME/go";
};
[hg_branch]
symbol = "hg "
shellAliases = {
tmate = "tmux detach-client -E 'tmate;tmux'";
cat = "bat -p";
rg = "rga";
};
};
[nix_shell]
symbol = "nix-shell "
'';
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv = {
enable = true;
};
};
programs.starship = {
enable = true;
enableZshIntegration = true;
};
home.file.".config/starship.toml".text = ''
[aws]
disabled = true
[battery]
full_symbol = ""
charging_symbol = ""
discharging_symbol = ""
[[battery.display]]
threshold = 10
style = "bold red"
[[battery.display]]
threshold = 30
style = "bold yellow"
[memory_usage]
disabled = false
[git_branch]
symbol = "git "
[hg_branch]
symbol = "hg "
[nix_shell]
symbol = "nix-shell "
'';
programs.starship = {
enable = true;
enableZshIntegration = true;
};
}

View file

@ -11,6 +11,6 @@ let
};
in
{
home.packages = with pkgs; [ download ];
}
{
home.packages = with pkgs; [ download ];
}

View file

@ -51,7 +51,7 @@ let
};
in
{
{
home.packages = with pkgs; [ mount-vault ];
}
home.packages = with pkgs; [ mount-vault ];
}

View file

@ -18,6 +18,6 @@ let
};
in
{
home.packages = with pkgs; [ umount-vault ];
}
{
home.packages = with pkgs; [ umount-vault ];
}

View file

@ -4,78 +4,77 @@ let
unstableTarball = fetchTarball https://github.com/NixOS/nixpkgs/archive/nixpkgs-unstable.tar.gz;
dotfiles = "/home/cyryl/dev/dotfiles";
in
{
nixpkgs.config = {
allowUnfree = true;
packageOverrides = pkgs: {
unstable = import unstableTarball {
config = config.nixpkgs.config;
};
{
nixpkgs.config = {
allowUnfree = true;
packageOverrides = pkgs: {
unstable = import unstableTarball {
config = config.nixpkgs.config;
};
};
};
home.sessionVariables = {
LOCALE_ARCHIVE=/usr/lib/locale/locale-archive;
home.sessionVariables = {
LOCALE_ARCHIVE = /usr/lib/locale/locale-archive;
};
targets.genericLinux.enable = true;
home.file.".gitconfig".source = ~/dev/dotfiles/.gitconfig.linux.form3;
imports = [
./git/home.nix
./home-manager/programs/tmux.nix
./home-manager/programs/zsh.nix
./home-manager/links.nix
./home-manager/programs/vim.nix
];
programs = {
home-manager.enable = true;
z-lua = {
enable = true;
enableAliases = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
targets.genericLinux.enable = true;
home.file.".gitconfig".source = ~/dev/dotfiles/.gitconfig.linux.form3;
imports = [
./git/home.nix
./home-manager/programs/tmux.nix
./home-manager/programs/zsh.nix
./home-manager/links.nix
./home-manager/programs/vim.nix
];
programs = {
home-manager.enable = true;
z-lua = {
enable = true;
enableAliases = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
gpg = {
enable = true;
settings = {
};
};
taskwarrior.enable = true;
fzf.enable = true;
go.enable = true;
bat.enable = true;
lsd.enable = true;
lsd.enableAliases = true;
gpg = {
enable = true;
settings = { };
};
home.packages = with pkgs; [
aria
atop
bfg-repo-cleaner
curl
dnsutils
docker-compose
du-dust
fd
file
fontconfig
git
hsetroot
htop
imagemagick
jmtpfs
jq
ripgrep
rustup
terraform
tmux
unstable.exercism
unstable.genpass
unstable.topgrade
unzip
wget
whois
];
}
taskwarrior.enable = true;
fzf.enable = true;
go.enable = true;
bat.enable = true;
lsd.enable = true;
lsd.enableAliases = true;
};
home.packages = with pkgs; [
aria
atop
bfg-repo-cleaner
curl
dnsutils
docker-compose
du-dust
fd
file
fontconfig
git
hsetroot
htop
imagemagick
jmtpfs
jq
ripgrep
rustup
terraform
tmux
unstable.exercism
unstable.genpass
unstable.topgrade
unzip
wget
whois
];
}

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{
services.autorandr.enable = true;
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
programs.autorandr = {
enable = true;
hooks.postswitch = {
@ -26,7 +26,7 @@
"foureighty-docked" = {
fingerprint = {
eDP-1 = "00ffffffffffff0006af362300000000001b0104a51f117802f4f5a4544d9c270f505400000001010101010101010101010101010101e65f00a0a0a040503020350035ae100000180000000f0000000000000000000000000020000000fe0041554f0a202020202020202020000000fe004231343051414e30322e33200a00b2";
DP-1 = "00ffffffffffff0026cd4e66f3030000271d0104b53c22783ef6d5a7544b9e250d5054bfef80714f8140818081c09500b300d1c001014dd000a0f0703e8030203500544f2100001a000000ff0031313636333933393031303131000000fd00184c1fa03c000a202020202020000000fc00504c3237393255480a202020200176020320f15390050403020716011f121314201511065d5e5f2309070783010000023a801871382d40582c4500544f2100001f011d8018711c1620582c2500544f2100009fa76600a0f0701f8030205500544f2100001ff45100a0f070198030203500544f2100001f565e00a0a0a0295030203500544f2100001b000000000059";
DP-1 = "00ffffffffffff0026cd4e66f3030000271d0104b53c22783ef6d5a7544b9e250d5054bfef80714f8140818081c09500b300d1c001014dd000a0f0703e8030203500544f2100001a000000ff0031313636333933393031303131000000fd00184c1fa03c000a202020202020000000fc00504c3237393255480a202020200176020320f15390050403020716011f121314201511065d5e5f2309070783010000023a801871382d40582c4500544f2100001f011d8018711c1620582c2500544f2100009fa76600a0f0701f8030205500544f2100001ff45100a0f070198030203500544f2100001f565e00a0a0a0295030203500544f2100001b000000000059";
};
config = {
eDP-1 = {

View file

@ -11,11 +11,11 @@
security.sudo.extraRules = [
{
users = [ "cyryl" ];
commands = [ { command = "${pkgs.i3}/bin/i3-msg"; options = [ "NOPASSWD" ]; } ];
commands = [{ command = "${pkgs.i3}/bin/i3-msg"; options = [ "NOPASSWD" ]; }];
}
{
users = [ "cyryl" ];
commands = [ { command = "${pkgs.intel-gpu-tools}/bin/intel_gpu_top"; options = [ "NOPASSWD" ]; } ];
commands = [{ command = "${pkgs.intel-gpu-tools}/bin/intel_gpu_top"; options = [ "NOPASSWD" ]; }];
}
];
@ -37,7 +37,7 @@
enableHidpi = true;
};
};
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
imports = [
./home.nix
];

View file

@ -10,7 +10,7 @@
];
home.sessionVariables = {
CM_LAUNCHER="rofi";
CM_LAUNCHER = "rofi";
};
services = {

View file

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{
programs.i3status= {
programs.i3status = {
enable = true;
enableDefault = false;
modules = {

View file

@ -2,102 +2,102 @@
let
mod = "Mod4";
in
{
home.packages = with pkgs; [
font-awesome-ttf
intel-gpu-tools
];
{
home.packages = with pkgs; [
font-awesome-ttf
intel-gpu-tools
];
xsession.windowManager.i3 = {
enable = true;
config = {
startup = [
{ command = "exec hsetroot -solid '#002b36'"; always = true; notification = false; }
{ command = "exec setxkbmap -layout pl"; always = true; notification = false; }
{ command = "exec $HOME/dev/dotfiles/nixos/i3/battery-popup.sh"; always = false; notification = false; }
{ command = "exec xdg-mime default org.gnome.Evince.desktop application/pdf"; always = false; notification = false; }
{ command = "exec ${pkgs.autorandr}/bin/autorandr -c"; always = false; notification = false; }
];
window = {
hideEdgeBorders = "horizontal";
titlebar = false;
border = 0;
};
workspaceLayout = "tabbed";
bars = [
{
position = "top";
colors.background = "#001e26";
colors.statusline = "#708183";
fonts = {
names = [ "Fira Code Nerd Font" ];
size = 10.0;
};
trayOutput = "primary";
}
];
modifier = mod;
keybindings = {
"${mod}+Shift+e" = "exec i3-msg exit";
"${mod}+Shift+c" = "reload";
"${mod}+Shift+d" = "exec ${pkgs.grobi}/bin/grobi update";
"${mod}+Shift+r" = "restart";
"${mod}+Shift+l" = "exec physlock -d";
"${mod}+Return" = "exec i3-sensible-terminal";
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%";
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5";
"XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5";
"Print" = "exec ${pkgs.gnome3.gnome-screenshot}/bin/gnome-screenshot -i";
"${mod}+r" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modi window#run#ssh -modi combi";
"${mod}+c" = "exec ${pkgs.clipmenu}/bin/clipmenu";
"${mod}+q" = "kill";
"${mod}+f" = "fullscreen toggle";
"${mod}+h" = "focus left";
"${mod}+j" = "focus down";
"${mod}+k" = "focus up";
"${mod}+l" = "focus right";
"${mod}+1" = "workspace 1";
"${mod}+2" = "workspace 2";
"${mod}+3" = "workspace 3";
"${mod}+4" = "workspace 4";
"${mod}+5" = "workspace 5";
"${mod}+6" = "workspace 6";
"${mod}+7" = "workspace 7";
"${mod}+8" = "workspace 8";
"${mod}+9" = "workspace 9";
"${mod}+0" = "workspace 10";
"${mod}+Shift+1" = "move container to workspace 1";
"${mod}+Shift+2" = "move container to workspace 2";
"${mod}+Shift+3" = "move container to workspace 3";
"${mod}+Shift+4" = "move container to workspace 4";
"${mod}+Shift+5" = "move container to workspace 5";
"${mod}+Shift+6" = "move container to workspace 6";
"${mod}+Shift+7" = "move container to workspace 7";
"${mod}+Shift+8" = "move container to workspace 8";
"${mod}+Shift+9" = "move container to workspace 9";
"${mod}+Shift+0" = "move container to workspace 10";
"${mod}+Ctrl+Left" = "move workspace to output left";
"${mod}+Ctrl+Right" = "move workspace to output right";
"${mod}+Ctrl+Up" = "move workspace to output up";
"${mod}+Ctrl+Down" = "move workspace to output down";
};
xsession.windowManager.i3 = {
enable = true;
config = {
startup = [
{ command = "exec hsetroot -solid '#002b36'"; always = true; notification = false; }
{ command = "exec setxkbmap -layout pl"; always = true; notification = false; }
{ command = "exec $HOME/dev/dotfiles/nixos/i3/battery-popup.sh"; always = false; notification = false; }
{ command = "exec xdg-mime default org.gnome.Evince.desktop application/pdf"; always = false; notification = false; }
{ command = "exec ${pkgs.autorandr}/bin/autorandr -c"; always = false; notification = false; }
];
window = {
hideEdgeBorders = "horizontal";
titlebar = false;
border = 0;
};
};
}
workspaceLayout = "tabbed";
bars = [
{
position = "top";
colors.background = "#001e26";
colors.statusline = "#708183";
fonts = {
names = [ "Fira Code Nerd Font" ];
size = 10.0;
};
trayOutput = "primary";
}
];
modifier = mod;
keybindings = {
"${mod}+Shift+e" = "exec i3-msg exit";
"${mod}+Shift+c" = "reload";
"${mod}+Shift+d" = "exec ${pkgs.grobi}/bin/grobi update";
"${mod}+Shift+r" = "restart";
"${mod}+Shift+l" = "exec physlock -d";
"${mod}+Return" = "exec i3-sensible-terminal";
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%";
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5";
"XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5";
"Print" = "exec ${pkgs.gnome3.gnome-screenshot}/bin/gnome-screenshot -i";
"${mod}+r" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modi window#run#ssh -modi combi";
"${mod}+c" = "exec ${pkgs.clipmenu}/bin/clipmenu";
"${mod}+q" = "kill";
"${mod}+f" = "fullscreen toggle";
"${mod}+h" = "focus left";
"${mod}+j" = "focus down";
"${mod}+k" = "focus up";
"${mod}+l" = "focus right";
"${mod}+1" = "workspace 1";
"${mod}+2" = "workspace 2";
"${mod}+3" = "workspace 3";
"${mod}+4" = "workspace 4";
"${mod}+5" = "workspace 5";
"${mod}+6" = "workspace 6";
"${mod}+7" = "workspace 7";
"${mod}+8" = "workspace 8";
"${mod}+9" = "workspace 9";
"${mod}+0" = "workspace 10";
"${mod}+Shift+1" = "move container to workspace 1";
"${mod}+Shift+2" = "move container to workspace 2";
"${mod}+Shift+3" = "move container to workspace 3";
"${mod}+Shift+4" = "move container to workspace 4";
"${mod}+Shift+5" = "move container to workspace 5";
"${mod}+Shift+6" = "move container to workspace 6";
"${mod}+Shift+7" = "move container to workspace 7";
"${mod}+Shift+8" = "move container to workspace 8";
"${mod}+Shift+9" = "move container to workspace 9";
"${mod}+Shift+0" = "move container to workspace 10";
"${mod}+Ctrl+Left" = "move workspace to output left";
"${mod}+Ctrl+Right" = "move workspace to output right";
"${mod}+Ctrl+Up" = "move workspace to output up";
"${mod}+Ctrl+Down" = "move workspace to output down";
};
};
};
}

View file

@ -5,5 +5,5 @@
indicator = true;
};
home.packages = with pkgs; [ kdeconnect ] ;
home.packages = with pkgs; [ kdeconnect ];
}

View file

@ -11,7 +11,7 @@
githubSupport = true;
};
config = {
"settings" = {screenchange-reload = "true";};
"settings" = { screenchange-reload = "true"; };
"bar/main_bar" = {
font-0 = "DejaVu Sans Mono for Powerline:size=12.0;weight=bold";
font-1 = "Weather Icons:size=12;0";

View file

@ -1,4 +1,3 @@
{ config, pkgs, ... }:
{
services.xserver = {
@ -10,6 +9,6 @@
desktopManager.default = "plasma5";
desktopManager.plasma5.enable = true;
};
users.users.cyryl.packages = with pkgs; [];
users.users.cyryl.packages = with pkgs; [ ];
}

View file

@ -7,7 +7,9 @@
users.extraUsers.cyryl.extraGroups = [ "kvm" ];
environment.systemPackages = with pkgs; [
virtmanager qemu swtpm
virtmanager
qemu
swtpm
];
}

View file

@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }:
{
home-manager.users.cyryl = {...}: {
home-manager.users.cyryl = { ... }: {
imports = [
./home.nix
];

View file

@ -11,7 +11,6 @@
paginate = never
'';
aliases =
{
};
};
}
{ };
};
}

View file

@ -1,19 +1,19 @@
with import <nixpkgs> {};
with import <nixpkgs> { };
stdenv.mkDerivation rec {
name = "evolution-decsync";
version = "1.0.1";
src = fetchFromGitHub {
owner = "39aldo39";
repo = "Evolution-DecSync";
rev = "v1.0.1";
sha256 = "0cq5cvc9ywcbwrhj5nm9azjmjwc8hxfbw3r7bjqkjd0bwfnxk3g6";
fetchSubmodules = true;
};
name = "evolution-decsync";
version = "1.0.1";
src = fetchFromGitHub {
owner = "39aldo39";
repo = "Evolution-DecSync";
rev = "v1.0.1";
sha256 = "0cq5cvc9ywcbwrhj5nm9azjmjwc8hxfbw3r7bjqkjd0bwfnxk3g6";
fetchSubmodules = true;
};
buildInputs = [ libgee json-glib gnome3.evolution-data-server gnome3.evolution gtk3 webkitgtk glib libsecret libsoup];
nativeBuildInputs = [ meson ninja vala pkg-config ];
configurePhase = "meson build --prefix=$out";
buildPhase = "ninja -C build";
installPhase = "ninja -C build install";
buildInputs = [ libgee json-glib gnome3.evolution-data-server gnome3.evolution gtk3 webkitgtk glib libsecret libsoup ];
nativeBuildInputs = [ meson ninja vala pkg-config ];
configurePhase = "meson build --prefix=$out";
buildPhase = "ninja -C build";
installPhase = "ninja -C build install";
}

View file

@ -1,151 +1,67 @@
with import <nixpkgs> {};
with import <nixpkgs> { };
let
pyscrypt = python37.pkgs.buildPythonPackage rec {
pname = "pyscrypt";
version = "1.6.2";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "bafdd195f10f7c7395f0133bad09746a68e0e6b66da202c9bdb6b1eb4abba5e9";
};
doCheck = false;
meta = with stdenv.lib; {
homepage = "https://github.com/ricmoo/pyscrypt";
license = licenses.mit;
description = "Pure-Python Implementation of the scrypt password-based key derivation function and scrypt file format library";
};
};
orderedmultidict = python37.pkgs.buildPythonPackage rec {
pname = "orderedmultidict";
version = "1.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "b89895ba6438038d0bdf88020ceff876cf3eae0d5c66a69b526fab31125db2c5";
};
checkInputs = [ python37Packages.pycodestyle ];
propagatedBuildInputs = [ python37Packages.six ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/gruns/orderedmultidict";
license = licenses.unlicense;
description = "Ordered Multivalue Dictionary - omdict.";
};
};
furl = python37.pkgs.buildPythonPackage rec {
pname = "furl";
version = "2.0.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "fdcaedc1fb19a63d7d875b0105b0a5b496dd0989330d454a42bcb401fa5454ec";
};
checkInputs = [ python37Packages.flake8 ];
propagatedBuildInputs = [ orderedmultidict python37Packages.six ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/gruns/furl";
license = licenses.publicDomain;
description = "URL manipulation made simple.";
};
};
etesync = python37.pkgs.buildPythonPackage rec {
pname = "etesync";
version = "0.8.1";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "007zsdn0zv0f80wpyf8fzl446wmv7jr8a0pdp4wj1y61b14f4q0p";
};
checkInputs = [ python37Packages.pytest ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/etesync/pyetesync";
license = licenses.lgpl3;
description = "Python client library for EteSync";
};
propagatedBuildInputs = [
python37Packages.appdirs
python37Packages.asn1crypto
python37Packages.certifi
python37Packages.cffi
python37Packages.chardet
python37Packages.coverage
python37Packages.cryptography
python37Packages.idna
python37Packages.packaging
python37Packages.peewee
python37Packages.py
python37Packages.pyasn1
python37Packages.pycparser
python37Packages.pyparsing
python37Packages.python-dateutil
python37Packages.requests
python37Packages.six
python37Packages.urllib3
python37Packages.vobject
pyscrypt
orderedmultidict
furl
];
};
radicale = python37.pkgs.buildPythonPackage rec {
pname = "Radicale";
version = "2.1.11";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "02273fcc6ae10e0f74aa12652e24d0001eec8dbf467d54ddb4dfcc2af7d7a5db";
};
doCheck = false;
checkInputs = [
python37Packages.pytestrunner
python37Packages.pytest-isort
python37Packages.pytest-flake8
python37Packages.pytestcov
];
propagatedBuildInputs = [ python37Packages.dateutil python37Packages.vobject ];
meta = with pkgs.stdenv.lib; {
homepage = "http://www.radicale.org/";
license = licenses.gpl1;
description = "CalDAV and CardDAV Server";
};
};
radicale-storage-etesync = python37.pkgs.buildPythonPackage rec {
pname = "radicale_storage_etesync";
version = "0.7.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "1vq889jshlb3m13m2lgbjy440lph27ig53sfipkj7ds5sb5znhh5";
};
propagatedBuildInputs = [ etesync radicale pyscrypt orderedmultidict furl
python37Packages.coverage
python37Packages.pyasn1
python37Packages.appdirs
python37Packages.vobject
python37Packages.py
python37Packages.cffi
python37Packages.pyparsing
python37Packages.requests
python37Packages.peewee
];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/etesync/radicale_storage_etesync";
license = licenses.gpl3;
description = "An EteSync storage plugin for radicale";
};
};
in
python37.pkgs.buildPythonPackage rec {
pname = "etesync-dav";
version = "0.5.0";
pyscrypt = python37.pkgs.buildPythonPackage rec {
pname = "pyscrypt";
version = "1.6.2";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "18ykgi3gqy6p7wj7n9d88rsn0y566ypl5ixpb3v7l3f6w5fffwh1";
sha256 = "bafdd195f10f7c7395f0133bad09746a68e0e6b66da202c9bdb6b1eb4abba5e9";
};
doCheck = false;
meta = with stdenv.lib; {
homepage = "https://github.com/ricmoo/pyscrypt";
license = licenses.mit;
description = "Pure-Python Implementation of the scrypt password-based key derivation function and scrypt file format library";
};
};
orderedmultidict = python37.pkgs.buildPythonPackage rec {
pname = "orderedmultidict";
version = "1.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "b89895ba6438038d0bdf88020ceff876cf3eae0d5c66a69b526fab31125db2c5";
};
checkInputs = [ python37Packages.pycodestyle ];
propagatedBuildInputs = [ python37Packages.six ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/gruns/orderedmultidict";
license = licenses.unlicense;
description = "Ordered Multivalue Dictionary - omdict.";
};
};
furl = python37.pkgs.buildPythonPackage rec {
pname = "furl";
version = "2.0.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "fdcaedc1fb19a63d7d875b0105b0a5b496dd0989330d454a42bcb401fa5454ec";
};
checkInputs = [ python37Packages.flake8 ];
propagatedBuildInputs = [ orderedmultidict python37Packages.six ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/gruns/furl";
license = licenses.publicDomain;
description = "URL manipulation made simple.";
};
};
etesync = python37.pkgs.buildPythonPackage rec {
pname = "etesync";
version = "0.8.1";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "007zsdn0zv0f80wpyf8fzl446wmv7jr8a0pdp4wj1y61b14f4q0p";
};
checkInputs = [ python37Packages.pytest ];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/etesync/pyetesync";
license = licenses.lgpl3;
description = "Python client library for EteSync";
};
propagatedBuildInputs = [
python37Packages.pytz
python37Packages.pytzdata
python37Packages.appdirs
python37Packages.asn1crypto
python37Packages.certifi
@ -165,11 +81,100 @@ python37.pkgs.buildPythonPackage rec {
python37Packages.six
python37Packages.urllib3
python37Packages.vobject
radicale
furl
orderedmultidict
pyscrypt
orderedmultidict
furl
];
};
radicale = python37.pkgs.buildPythonPackage rec {
pname = "Radicale";
version = "2.1.11";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "02273fcc6ae10e0f74aa12652e24d0001eec8dbf467d54ddb4dfcc2af7d7a5db";
};
doCheck = false;
checkInputs = [
python37Packages.pytestrunner
python37Packages.pytest-isort
python37Packages.pytest-flake8
python37Packages.pytestcov
];
propagatedBuildInputs = [ python37Packages.dateutil python37Packages.vobject ];
meta = with pkgs.stdenv.lib; {
homepage = "http://www.radicale.org/";
license = licenses.gpl1;
description = "CalDAV and CardDAV Server";
};
};
radicale-storage-etesync = python37.pkgs.buildPythonPackage rec {
pname = "radicale_storage_etesync";
version = "0.7.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "1vq889jshlb3m13m2lgbjy440lph27ig53sfipkj7ds5sb5znhh5";
};
propagatedBuildInputs = [
etesync
radicale-storage-etesync
];
radicale
pyscrypt
orderedmultidict
furl
python37Packages.coverage
python37Packages.pyasn1
python37Packages.appdirs
python37Packages.vobject
python37Packages.py
python37Packages.cffi
python37Packages.pyparsing
python37Packages.requests
python37Packages.peewee
];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/etesync/radicale_storage_etesync";
license = licenses.gpl3;
description = "An EteSync storage plugin for radicale";
};
};
in
python37.pkgs.buildPythonPackage rec {
pname = "etesync-dav";
version = "0.5.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "18ykgi3gqy6p7wj7n9d88rsn0y566ypl5ixpb3v7l3f6w5fffwh1";
};
propagatedBuildInputs = [
python37Packages.pytz
python37Packages.pytzdata
python37Packages.appdirs
python37Packages.asn1crypto
python37Packages.certifi
python37Packages.cffi
python37Packages.chardet
python37Packages.coverage
python37Packages.cryptography
python37Packages.idna
python37Packages.packaging
python37Packages.peewee
python37Packages.py
python37Packages.pyasn1
python37Packages.pycparser
python37Packages.pyparsing
python37Packages.python-dateutil
python37Packages.requests
python37Packages.six
python37Packages.urllib3
python37Packages.vobject
radicale
furl
orderedmultidict
pyscrypt
etesync
radicale-storage-etesync
];
}

View file

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{
boot.kernelPatches = [ {
boot.kernelPatches = [{
name = "cyplo-hardened";
patch = null;
extraConfig = ''
@ -42,5 +42,5 @@
PROC_KCORE n
INET_DIAG n
'';
} ];
}];
}

View file

@ -46,14 +46,14 @@
boot.kernel.sysctl."net.ipv4.conf.all.log_martians" = true;
boot.kernel.sysctl."net.ipv4.conf.all.rp_filter" = "1";
boot.kernel.sysctl."net.ipv4.conf.default.log_martians" = true;
boot.kernel.sysctl."net.ipv4.conf.default.rp_filter" = "1";
boot.kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = true;
boot.kernel.sysctl."net.ipv4.conf.all.accept_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.all.secure_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.default.accept_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.default.secure_redirects" = false;
boot.kernel.sysctl."net.ipv6.conf.all.accept_redirects" = false;
boot.kernel.sysctl."net.ipv6.conf.default.accept_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.all.send_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.default.send_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.default.rp_filter" = "1";
boot.kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = true;
boot.kernel.sysctl."net.ipv4.conf.all.accept_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.all.secure_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.default.accept_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.default.secure_redirects" = false;
boot.kernel.sysctl."net.ipv6.conf.all.accept_redirects" = false;
boot.kernel.sysctl."net.ipv6.conf.default.accept_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.all.send_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.default.send_redirects" = false;
}

View file

@ -7,26 +7,26 @@ let
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALNEUIxbENTdhSWzYupGFn/q+AGe0diBOTMyiZAmv7F nix-builder@vultr1"
];
in
{
imports = [
./security.nix
];
security.acme.email = "admin@cyplo.dev";
security.acme.acceptTerms = true;
{
imports = [
./security.nix
];
security.acme.email = "admin@cyplo.dev";
security.acme.acceptTerms = true;
services.fail2ban.enable = true;
services.fail2ban.enable = true;
services.openssh = {
enable = true;
permitRootLogin = "prohibit-password";
passwordAuthentication = false;
};
services.openssh = {
enable = true;
permitRootLogin = "prohibit-password";
passwordAuthentication = false;
};
users.extraUsers.root.openssh.authorizedKeys.keys = authorizedKeys;
users.users.nix-builder = {
isNormalUser = true;
openssh.authorizedKeys.keys = authorizedKeys;
};
users.extraUsers.root.openssh.authorizedKeys.keys = authorizedKeys;
users.users.nix-builder = {
isNormalUser = true;
openssh.authorizedKeys.keys = authorizedKeys;
};
nix.trustedUsers = [ "root" "nix-builder" ];
}
nix.trustedUsers = [ "root" "nix-builder" ];
}

View file

@ -2,88 +2,90 @@
let
mod = "Mod4";
in
{
services.dbus.packages = with pkgs; [ gnome2.GConf gnome3.dconf ];
services.dbus.socketActivated = true;
programs.dconf.enable = true;
programs.qt5ct.enable = true;
systemd.defaultUnit = "graphical.target";
{
services.dbus.packages = with pkgs; [ gnome2.GConf gnome3.dconf ];
services.dbus.socketActivated = true;
programs.dconf.enable = true;
programs.qt5ct.enable = true;
systemd.defaultUnit = "graphical.target";
home-manager.users.cyryl = {...}: {
programs.mako.enable = true;
home-manager.users.cyryl = { ... }: {
programs.mako.enable = true;
imports = [
./keybindings.nix
];
imports = [
./keybindings.nix
];
home.sessionVariables = {
XDG_CURRENT_DESKTOP="Unity";
SDL_VIDEODRIVER="wayland";
QT_QPA_PLATFORM="wayland-egl";
QT_WAYLAND_FORCE_DPI="physical";
QT_WAYLAND_DISABLE_WINDOWDECORATION="1";
};
home.sessionVariables = {
XDG_CURRENT_DESKTOP = "Unity";
SDL_VIDEODRIVER = "wayland";
QT_QPA_PLATFORM = "wayland-egl";
QT_WAYLAND_FORCE_DPI = "physical";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
};
home.packages = with pkgs; [
firefox-wayland
wl-clipboard
clipman
wofi
libappindicator-gtk3
gtk-engine-murrine
gtk_engines
gsettings-desktop-schemas
lxappearance
];
home.packages = with pkgs; [
firefox-wayland
wl-clipboard
clipman
wofi
libappindicator-gtk3
gtk-engine-murrine
gtk_engines
gsettings-desktop-schemas
lxappearance
];
services.udiskie.enable = true;
xsession.preferStatusNotifierItems = true;
services.udiskie.enable = true;
xsession.preferStatusNotifierItems = true;
home.file.".config/wofi/style.css".source = ../../.config/wofi/style.css;
home.file.".config/waybar/config".source = ../../.config/waybar/config;
home.file.".config/waybar/style.css".source = ../../.config/waybar/style.css;
wayland.windowManager.sway = {
enable = true;
wrapperFeatures.base = true;
wrapperFeatures.gtk = true;
package = pkgs.unstable.sway;
extraConfig = ''
default_border none
home.file.".config/wofi/style.css".source = ../../.config/wofi/style.css;
home.file.".config/waybar/config".source = ../../.config/waybar/config;
home.file.".config/waybar/style.css".source = ../../.config/waybar/style.css;
wayland.windowManager.sway = {
enable = true;
wrapperFeatures.base = true;
wrapperFeatures.gtk = true;
package = pkgs.unstable.sway;
extraConfig = ''
default_border none
'';
extraSessionCommands = ''
'';
extraSessionCommands = ''
'';
config = {
modifier = "${mod}";
menu = "${pkgs.wofi}/bin/wofi --show drun,run";
terminal = "${pkgs.alacritty}/bin/alacritty";
workspaceLayout = "tabbed";
window = {
hideEdgeBorders = "both";
titlebar = false;
border = 0;
};
bars = [
{
position = "top";
command = "${pkgs.waybar}/bin/waybar";
}
];
startup = [
{ command = "${pkgs.wl-clipboard}/bin/wl-paste -t text --watch ${pkgs.clipman}/bin/clipman store"; }
{ command = "${pkgs.clipman}/bin/clipman restore"; }
{ command = ''swayidle -w timeout 300 'swaylock -f -c 000000' timeout 600 'swaymsg "output * dpms off" && systemctl suspend' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 657b83'
''; }
];
output.eDP-1.scale = "1.7";
input."1:1:AT_Translated_Set_2_keyboard" = {
xkb_layout = "pl";
xkb_options = "caps:ctrl_modifier";
};
input."2:7:SynPS/2_Synaptics_TouchPad" = {
tap = "enabled";
};
config = {
modifier = "${mod}";
menu = "${pkgs.wofi}/bin/wofi --show drun,run";
terminal = "${pkgs.alacritty}/bin/alacritty";
workspaceLayout = "tabbed";
window = {
hideEdgeBorders = "both";
titlebar = false;
border = 0;
};
bars = [
{
position = "top";
command = "${pkgs.waybar}/bin/waybar";
}
];
startup = [
{ command = "${pkgs.wl-clipboard}/bin/wl-paste -t text --watch ${pkgs.clipman}/bin/clipman store"; }
{ command = "${pkgs.clipman}/bin/clipman restore"; }
{
command = ''swayidle -w timeout 300 'swaylock -f -c 000000' timeout 600 'swaymsg "output * dpms off" && systemctl suspend' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 657b83'
'';
}
];
output.eDP-1.scale = "1.7";
input."1:1:AT_Translated_Set_2_keyboard" = {
xkb_layout = "pl";
xkb_options = "caps:ctrl_modifier";
};
input."2:7:SynPS/2_Synaptics_TouchPad" = {
tap = "enabled";
};
};
};
}
};
}

View file

@ -2,58 +2,58 @@
let
mod = "Mod4";
in
{
wayland.windowManager.sway.config.keybindings = {
"${mod}+Shift+e" = "exit";
"${mod}+Shift+r" = "reload";
"${mod}+Shift+l" = "exec swaylock -c 657b83";
"${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty";
{
wayland.windowManager.sway.config.keybindings = {
"${mod}+Shift+e" = "exit";
"${mod}+Shift+r" = "reload";
"${mod}+Shift+l" = "exec swaylock -c 657b83";
"${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty";
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%";
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%";
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5";
"XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5";
"XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5";
"XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5";
"Print" = "exec ${pkgs.gnome3.gnome-screenshot}/bin/gnome-screenshot -i";
"Print" = "exec ${pkgs.gnome3.gnome-screenshot}/bin/gnome-screenshot -i";
"${mod}+r" = "exec ${pkgs.wofi}/bin/wofi --show drun,run";
"${mod}+c" = "exec ${pkgs.clipman}/bin/clipman pick -t wofi";
"${mod}+q" = "kill";
"${mod}+f" = "fullscreen toggle";
"${mod}+r" = "exec ${pkgs.wofi}/bin/wofi --show drun,run";
"${mod}+c" = "exec ${pkgs.clipman}/bin/clipman pick -t wofi";
"${mod}+q" = "kill";
"${mod}+f" = "fullscreen toggle";
"${mod}+h" = "focus left";
"${mod}+j" = "focus down";
"${mod}+k" = "focus up";
"${mod}+l" = "focus right";
"${mod}+h" = "focus left";
"${mod}+j" = "focus down";
"${mod}+k" = "focus up";
"${mod}+l" = "focus right";
"${mod}+1" = "workspace 1";
"${mod}+2" = "workspace 2";
"${mod}+3" = "workspace 3";
"${mod}+4" = "workspace 4";
"${mod}+5" = "workspace 5";
"${mod}+6" = "workspace 6";
"${mod}+7" = "workspace 7";
"${mod}+8" = "workspace 8";
"${mod}+9" = "workspace 9";
"${mod}+0" = "workspace 10";
"${mod}+1" = "workspace 1";
"${mod}+2" = "workspace 2";
"${mod}+3" = "workspace 3";
"${mod}+4" = "workspace 4";
"${mod}+5" = "workspace 5";
"${mod}+6" = "workspace 6";
"${mod}+7" = "workspace 7";
"${mod}+8" = "workspace 8";
"${mod}+9" = "workspace 9";
"${mod}+0" = "workspace 10";
"${mod}+Shift+1" = "move container to workspace 1";
"${mod}+Shift+2" = "move container to workspace 2";
"${mod}+Shift+3" = "move container to workspace 3";
"${mod}+Shift+4" = "move container to workspace 4";
"${mod}+Shift+5" = "move container to workspace 5";
"${mod}+Shift+6" = "move container to workspace 6";
"${mod}+Shift+7" = "move container to workspace 7";
"${mod}+Shift+8" = "move container to workspace 8";
"${mod}+Shift+9" = "move container to workspace 9";
"${mod}+Shift+0" = "move container to workspace 10";
"${mod}+Shift+1" = "move container to workspace 1";
"${mod}+Shift+2" = "move container to workspace 2";
"${mod}+Shift+3" = "move container to workspace 3";
"${mod}+Shift+4" = "move container to workspace 4";
"${mod}+Shift+5" = "move container to workspace 5";
"${mod}+Shift+6" = "move container to workspace 6";
"${mod}+Shift+7" = "move container to workspace 7";
"${mod}+Shift+8" = "move container to workspace 8";
"${mod}+Shift+9" = "move container to workspace 9";
"${mod}+Shift+0" = "move container to workspace 10";
"${mod}+Ctrl+Left" = "move workspace to output left";
"${mod}+Ctrl+Right" = "move workspace to output right";
"${mod}+Ctrl+Up" = "move workspace to output up";
"${mod}+Ctrl+Down" = "move workspace to output down";
};
}
"${mod}+Ctrl+Left" = "move workspace to output left";
"${mod}+Ctrl+Right" = "move workspace to output right";
"${mod}+Ctrl+Up" = "move workspace to output up";
"${mod}+Ctrl+Down" = "move workspace to output down";
};
}

View file

@ -1,8 +1,9 @@
{ config, pkgs, inputs, ... }:
let
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
in {
in
{
environment.systemPackages = [ tailscale ];
services.tailscale = {
enable = true;