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, ... }: { config, pkgs, ... }:
let 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 in
{ {
services = { services = {
restic.backups.home-to-bolty = { restic.backups.home-to-bolty = {
passwordFile = "/etc/nixos/secrets/restic-password-bolty"; passwordFile = "/etc/nixos/secrets/restic-password-bolty";
paths = [ "/home" ]; paths = [ "/home" ];
repository = "rest:http://bolty:8000/"; repository = "rest:http://bolty:8000/";
timerConfig = { OnCalendar = "hourly"; }; timerConfig = { OnCalendar = "hourly"; };
extraBackupArgs = extraArgs; 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";
};
}; };
}
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."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/28afab71-ff3d-4f1a-b7e4-2129572706dd"; {
device = "/dev/disk/by-uuid/28afab71-ff3d-4f1a-b7e4-2129572706dd";
fsType = "btrfs"; fsType = "btrfs";
}; };
fileSystems."/boot" = fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/5BFB-9E6B"; {
device = "/dev/disk/by-uuid/5BFB-9E6B";
fsType = "vfat"; fsType = "vfat";
}; };

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -9,32 +9,34 @@
locations."= /.well-known/matrix/server".extraConfig = locations."= /.well-known/matrix/server".extraConfig =
let let
server = { "m.server" = "cyplo.dev:443"; }; server = { "m.server" = "cyplo.dev:443"; };
in '' in
''
add_header Content-Type application/json; add_header Content-Type application/json;
return 200 '${builtins.toJSON server}'; return 200 '${builtins.toJSON server}';
''; '';
locations."= /.well-known/matrix/client".extraConfig = locations."= /.well-known/matrix/client".extraConfig =
let let
client = { client = {
"m.homeserver" = { "base_url" = "https://cyplo.dev"; }; "m.homeserver" = { "base_url" = "https://cyplo.dev"; };
"m.identity_server" = { "base_url" = "https://vector.im"; }; "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 /
}; };
}; 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, ... }: { config, pkgs, inputs, lib, ... }:
let let
tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale;
in in
{ {
systemd.services.tailscale-autoconnect = { systemd.services.tailscale-autoconnect = {
description = "Automatic connection to Tailscale"; description = "Automatic connection to Tailscale";
# make sure tailscale is running before trying to connect to tailscale # make sure tailscale is running before trying to connect to tailscale
after = [ "network-pre.target" "tailscale.service" ]; after = [ "network-pre.target" "tailscale.service" ];

View file

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

View file

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

View file

@ -8,51 +8,64 @@
./syncthing.nix ./syncthing.nix
]; ];
security.allowUserNamespaces = true; security.allowUserNamespaces = true;
environment.enableDebugInfo = true; environment.enableDebugInfo = true;
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wget git gnupg curl tmux htop atop home-manager pciutils powertop fd dnsutils usbutils veracrypt 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 = { users.users.cyryl = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "video" "scanner" "lp" "docker" "vboxusers" "adbusers" "libvirtd" "dialout" "wireshark" ]; extraGroups = [ "wheel" "networkmanager" "video" "scanner" "lp" "docker" "vboxusers" "adbusers" "libvirtd" "dialout" "wireshark" ];
shell = pkgs.zsh; shell = pkgs.zsh;
}; };
networking.hosts = { networking.hosts = {
"10.11.99.1" = [ "remarkable" ]; "10.11.99.1" = [ "remarkable" ];
}; };
programs.light.enable = true; programs.light.enable = true;
programs.adb.enable = true; programs.adb.enable = true;
programs.wireshark.enable=true; programs.wireshark.enable = true;
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
autoPrune.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 = { nix = {
autoOptimiseStore = true; autoOptimiseStore = true;
daemonIONiceLevel = 7; daemonIONiceLevel = 7;
daemonNiceLevel = 19; daemonNiceLevel = 19;
gc.automatic = true; gc.automatic = true;
optimise.automatic = true; optimise.automatic = true;
package = pkgs.nixUnstable; package = pkgs.nixUnstable;
extraOptions = '' extraOptions = ''
experimental-features = nix-command flakes experimental-features = nix-command flakes
''; '';
}; };
system = { system = {
stateVersion = "20.03"; stateVersion = "20.03";
}; };
} }

View file

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

View file

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

View file

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

View file

@ -4,6 +4,6 @@
enable = true; enable = true;
desktopManager.enlightenment.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" "$@" exec -a "$0" "$@"
''; '';
in in
{ {
environment.systemPackages = [ nvidia-offload ]; environment.systemPackages = [ nvidia-offload ];
services.xserver.videoDrivers = [ "nvidia" ]; services.xserver.videoDrivers = [ "nvidia" ];
hardware.opengl = { enable = true; }; hardware.opengl = { enable = true; };
hardware.nvidia.modesetting.enable = true; hardware.nvidia.modesetting.enable = true;
hardware.nvidia.prime.offload.enable = true; hardware.nvidia.prime.offload.enable = true;
hardware.nvidia.prime = { hardware.nvidia.prime = {
intelBusId = "PCI:0:2:0"; intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0"; nvidiaBusId = "PCI:1:0:0";
}; };
} }

View file

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

View file

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

View file

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

View file

@ -10,7 +10,10 @@
services.flatpak.enable = true; services.flatpak.enable = true;
services.dbus.packages = with pkgs; [ gnome2.GConf gnome3.dconf gcr ]; services.dbus.packages = with pkgs; [ gnome2.GConf gnome3.dconf gcr ];
users.users.cyryl.packages = with pkgs.gnomeExtensions; [ 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, ... }: { config, pkgs, ... }:
{ {
networking.firewall.allowedTCPPortRanges = [ { from = 1716; to = 1764; } ]; networking.firewall.allowedTCPPortRanges = [{ from = 1716; to = 1764; }];
networking.firewall.allowedUDPPortRanges = [ { from = 1716; to = 1764; } ]; networking.firewall.allowedUDPPortRanges = [{ from = 1716; to = 1764; }];
} }

View file

@ -2,77 +2,77 @@
let let
unstable = inputs.nixpkgs-nixos-unstable.legacyPackages.${pkgs.system}; unstable = inputs.nixpkgs-nixos-unstable.legacyPackages.${pkgs.system};
in in
{ {
home-manager.users.cyryl = {...}: { home-manager.users.cyryl = { ... }: {
gtk = { gtk = {
enable = true; enable = true;
iconTheme = { iconTheme = {
name = "Adwaita"; name = "Adwaita";
package = pkgs.gnome3.adwaita-icon-theme; 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 ]; buildInputs = with pkgs; [ llvm lldb python37 autoPatchelfHook ];
} }
) )
] ]
++ ++
vscode-utils.extensionsFromVscodeMarketplace [ vscode-utils.extensionsFromVscodeMarketplace [
{ {
publisher = "vscodevim"; publisher = "vscodevim";
name = "vim"; name = "vim";
version = "1.21.7"; version = "1.21.7";
sha256 = "sha256-nCcDafZ2CUhTjVha+6Mjxoil61xMGboO5lajc7dGEJg="; sha256 = "sha256-nCcDafZ2CUhTjVha+6Mjxoil61xMGboO5lajc7dGEJg=";
} }
{ {
publisher = "matklad"; publisher = "matklad";
name = "rust-analyzer"; name = "rust-analyzer";
version = "0.2.792"; version = "0.2.792";
sha256 = "sha256-OPSZ1sKVxgh8SN9UR8vtlICdznUXdaCkzNJBX5w1j9Q="; sha256 = "sha256-OPSZ1sKVxgh8SN9UR8vtlICdznUXdaCkzNJBX5w1j9Q=";
} }
{ {
publisher = "sjhuangx"; publisher = "sjhuangx";
name = "vscode-scheme"; name = "vscode-scheme";
version = "0.4.0"; version = "0.4.0";
sha256 = "07vjfymvfv98s5r5a4b5iqhgfz1wpgq2l8h3wlq1bnhhhvmq5pq4"; sha256 = "07vjfymvfv98s5r5a4b5iqhgfz1wpgq2l8h3wlq1bnhhhvmq5pq4";
} }
{ {
publisher = "shaunlebron"; publisher = "shaunlebron";
name = "vscode-parinfer"; name = "vscode-parinfer";
version = "0.6.2"; version = "0.6.2";
sha256 = "0h4v4rnximy6rbh83y4s2qj1cqbj66g9wld39mzd0zwgi6ig9syd"; sha256 = "0h4v4rnximy6rbh83y4s2qj1cqbj66g9wld39mzd0zwgi6ig9syd";
} }
{ {
publisher = "swyphcosmo"; publisher = "swyphcosmo";
name = "spellchecker"; name = "spellchecker";
version = "1.2.13"; version = "1.2.13";
sha256 = "1lr33lf01afgi74c1a9gylk92li4hyq24l8bki4l6ggl4z4c2h3w"; sha256 = "1lr33lf01afgi74c1a9gylk92li4hyq24l8bki4l6ggl4z4c2h3w";
} }
{ {
publisher = "asabil"; publisher = "asabil";
name = "meson"; name = "meson";
version = "1.1.1"; version = "1.1.1";
sha256 = "00cc28a2nb325f54bx51wf5q15x1pmsn0j9z6rnxxqxwii1dm5cl"; sha256 = "00cc28a2nb325f54bx51wf5q15x1pmsn0j9z6rnxxqxwii1dm5cl";
} }
{ {
publisher = "bungcip"; publisher = "bungcip";
name = "better-toml"; name = "better-toml";
version = "0.3.2"; version = "0.3.2";
sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3"; sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3";
} }
{ {
publisher = "codezombiech"; publisher = "codezombiech";
name = "gitignore"; name = "gitignore";
version = "0.6.0"; version = "0.6.0";
sha256 = "0gnc0691pwkd9s8ldqabmpfvj0236rw7bxvkf0bvmww32kv1ia0b"; sha256 = "0gnc0691pwkd9s8ldqabmpfvj0236rw7bxvkf0bvmww32kv1ia0b";
} }
{ {
publisher = "DavidAnson"; publisher = "DavidAnson";
name = "vscode-markdownlint"; name = "vscode-markdownlint";
version = "0.26.0"; version = "0.26.0";
sha256 = "0g4pssvajn7d8p2547v7313gjyqx4pzs7cbjws2s3v2fk1sw7vbj"; sha256 = "0g4pssvajn7d8p2547v7313gjyqx4pzs7cbjws2s3v2fk1sw7vbj";
} }
{ {
publisher = "esbenp"; publisher = "esbenp";
name = "prettier-vscode"; name = "prettier-vscode";
version = "1.8.1"; version = "1.8.1";
sha256 = "0qcm2784n9qc4p77my1kwqrswpji7bp895ay17yzs5g84cj010ln"; sha256 = "0qcm2784n9qc4p77my1kwqrswpji7bp895ay17yzs5g84cj010ln";
} }
{ {
publisher = "hbenl"; publisher = "hbenl";
name = "vscode-test-explorer"; name = "vscode-test-explorer";
version = "2.9.3"; version = "2.9.3";
sha256 = "1yf85hgvganxq5n5jff9ckn3smxd6xi79cgn6k53qi5w1r5rahy0"; sha256 = "1yf85hgvganxq5n5jff9ckn3smxd6xi79cgn6k53qi5w1r5rahy0";
} }
{ {
publisher = "lextudio"; publisher = "lextudio";
name = "restructuredtext"; name = "restructuredtext";
version = "106.0.0"; version = "106.0.0";
sha256 = "096r8071202nxi1is6z7dghcmpsh0f0mm3mp3cfh1yj2mnyzlaxa"; sha256 = "096r8071202nxi1is6z7dghcmpsh0f0mm3mp3cfh1yj2mnyzlaxa";
} }
{ {
publisher = "lostintangent"; publisher = "lostintangent";
name = "vsls-pomodoro"; name = "vsls-pomodoro";
version = "0.1.0"; version = "0.1.0";
sha256 = "1b73zbkhlhacvi18cx4g3n6randy3hw9cab1gkw5gzb3375w7w3p"; sha256 = "1b73zbkhlhacvi18cx4g3n6randy3hw9cab1gkw5gzb3375w7w3p";
} }
{ {
publisher = "lostintangent"; publisher = "lostintangent";
name = "vsls-whiteboard"; name = "vsls-whiteboard";
version = "0.0.8"; version = "0.0.8";
sha256 = "13fcay9bs861msb5y694casbw66dmhl504xm5cvprssx1qka186p"; sha256 = "13fcay9bs861msb5y694casbw66dmhl504xm5cvprssx1qka186p";
} }
{ {
publisher = "mechatroner"; publisher = "mechatroner";
name = "rainbow-csv"; name = "rainbow-csv";
version = "1.0.0"; version = "1.0.0";
sha256 = "1fyamgm7zq31r3c00cn6pcb66rrkfhwfmp72qnhrajydmnvcnbg6"; sha256 = "1fyamgm7zq31r3c00cn6pcb66rrkfhwfmp72qnhrajydmnvcnbg6";
} }
{ {
publisher = "ronnidc"; publisher = "ronnidc";
name = "nunjucks"; name = "nunjucks";
version = "0.2.3"; version = "0.2.3";
sha256 = "119xgyn1dggw2rcqkn2mnz364iw5jlrxg7pcydbijsqj5d3zdfsf"; sha256 = "119xgyn1dggw2rcqkn2mnz364iw5jlrxg7pcydbijsqj5d3zdfsf";
} }
{ {
publisher = "serayuzgur"; publisher = "serayuzgur";
name = "crates"; name = "crates";
version = "0.4.2"; version = "0.4.2";
sha256 = "1knspsc98cfw4mhc0yaz0f2185sxdf9kn9qsysfs6c82g9wjaqcj"; sha256 = "1knspsc98cfw4mhc0yaz0f2185sxdf9kn9qsysfs6c82g9wjaqcj";
} }
];})
]; ];
} })
];
}

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
home.packages = with 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 apvlv
aria aria
atop atop
@ -31,6 +31,7 @@
mercurial mercurial
nix-index nix-index
nix-top nix-top
nixpkgs-fmt
pciutils pciutils
powertop powertop
ranger ranger

View file

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

View file

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

View file

@ -1,7 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
home.sessionVariables = { home.sessionVariables = {
TERMINAL="alacritty"; TERMINAL = "alacritty";
}; };
programs.alacritty = { programs.alacritty = {
@ -23,40 +23,40 @@
colors = { colors = {
primary = { primary = {
background= "0x002b36"; background = "0x002b36";
foreground= "0x839496"; foreground = "0x839496";
}; };
normal = { normal = {
black= "0x073642"; black = "0x073642";
red= "0xdc322f"; red = "0xdc322f";
green= "0x859900"; green = "0x859900";
yellow= "0xb58900"; yellow = "0xb58900";
blue= "0x268bd2"; blue = "0x268bd2";
magenta= "0xd33682"; magenta = "0xd33682";
cyan= "0x2aa198"; cyan = "0x2aa198";
white= "0xeee8d5"; white = "0xeee8d5";
}; };
bright = { bright = {
black= "0x002b36"; black = "0x002b36";
red= "0xcb4b16"; red = "0xcb4b16";
green= "0x586e75"; green = "0x586e75";
yellow= "0x657b83"; yellow = "0x657b83";
blue= "0x839496"; blue = "0x839496";
magenta= "0x6c71c4"; magenta = "0x6c71c4";
cyan= "0x93a1a1"; cyan = "0x93a1a1";
white= "0xfdf6e3"; white = "0xfdf6e3";
}; };
background_opacity = 0.9; background_opacity = 0.9;
dynamic_title= true; dynamic_title = true;
}; };
cursor= { cursor = {
style = "Block"; 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, ... }: { config, pkgs, lib, ... }:
{ {
home-manager.users.cyryl = {...}: { home-manager.users.cyryl = { ... }: {
imports = [ imports = [
./home.nix ./home.nix
]; ];

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,101 +1,108 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{
{ programs.zsh = {
programs.zsh = { enable = true;
enable = true; history = {
history = { size = 102400;
size = 102400; save = 102400;
save = 102400; ignoreDups = true;
ignoreDups = true; expireDuplicatesFirst = true;
expireDuplicatesFirst = true; share = 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 ='' enableAutosuggestions = true;
[aws] enableCompletion = true;
disabled = true
[battery] oh-my-zsh = {
full_symbol = "" enable = true;
charging_symbol = "" plugins = [ "vi-mode" "git" "python" "history-substring-search" "tmux" ];
discharging_symbol = "" };
[[battery.display]] initExtra = ''
threshold = 10 ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=238'
style = "bold red" setopt HIST_IGNORE_ALL_DUPS
'';
[[battery.display]] profileExtra = ''
threshold = 30 export PATH="$HOME/programs:$PATH";
style = "bold yellow" 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] envExtra = ''
disabled = false [ -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] sessionVariables = {
symbol = "git " TERM = "xterm-256color";
EDITOR = "vim";
VISUAL = "vim";
PAGER = "less";
ZSH_TMUX_AUTOSTART = true;
GOPATH = "$HOME/go";
};
[hg_branch] shellAliases = {
symbol = "hg " tmate = "tmux detach-client -E 'tmate;tmux'";
cat = "bat -p";
rg = "rga";
};
};
[nix_shell] programs.direnv = {
symbol = "nix-shell " enable = true;
''; enableZshIntegration = true;
nix-direnv = {
enable = true;
};
};
programs.starship = { home.file.".config/starship.toml".text = ''
enable = true; [aws]
enableZshIntegration = true; 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 in
{ {
home.packages = with pkgs; [ download ]; home.packages = with pkgs; [ download ];
} }

View file

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

View file

@ -18,6 +18,6 @@ let
}; };
in 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; unstableTarball = fetchTarball https://github.com/NixOS/nixpkgs/archive/nixpkgs-unstable.tar.gz;
dotfiles = "/home/cyryl/dev/dotfiles"; dotfiles = "/home/cyryl/dev/dotfiles";
in in
{ {
nixpkgs.config = { nixpkgs.config = {
allowUnfree = true; allowUnfree = true;
packageOverrides = pkgs: { packageOverrides = pkgs: {
unstable = import unstableTarball { unstable = import unstableTarball {
config = config.nixpkgs.config; config = config.nixpkgs.config;
};
}; };
}; };
};
home.sessionVariables = { home.sessionVariables = {
LOCALE_ARCHIVE=/usr/lib/locale/locale-archive; 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; gpg = {
home.file.".gitconfig".source = ~/dev/dotfiles/.gitconfig.linux.form3; enable = true;
settings = { };
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;
}; };
home.packages = with pkgs; [ taskwarrior.enable = true;
aria fzf.enable = true;
atop go.enable = true;
bfg-repo-cleaner bat.enable = true;
curl lsd.enable = true;
dnsutils lsd.enableAliases = true;
docker-compose };
du-dust home.packages = with pkgs; [
fd aria
file atop
fontconfig bfg-repo-cleaner
git curl
hsetroot dnsutils
htop docker-compose
imagemagick du-dust
jmtpfs fd
jq file
ripgrep fontconfig
rustup git
terraform hsetroot
tmux htop
unstable.exercism imagemagick
unstable.genpass jmtpfs
unstable.topgrade jq
unzip ripgrep
wget rustup
whois terraform
]; tmux
} unstable.exercism
unstable.genpass
unstable.topgrade
unzip
wget
whois
];
}

View file

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

View file

@ -11,11 +11,11 @@
security.sudo.extraRules = [ security.sudo.extraRules = [
{ {
users = [ "cyryl" ]; users = [ "cyryl" ];
commands = [ { command = "${pkgs.i3}/bin/i3-msg"; options = [ "NOPASSWD" ]; } ]; commands = [{ command = "${pkgs.i3}/bin/i3-msg"; options = [ "NOPASSWD" ]; }];
} }
{ {
users = [ "cyryl" ]; 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; enableHidpi = true;
}; };
}; };
home-manager.users.cyryl = {...}: { home-manager.users.cyryl = { ... }: {
imports = [ imports = [
./home.nix ./home.nix
]; ];

View file

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

View file

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

View file

@ -2,102 +2,102 @@
let let
mod = "Mod4"; mod = "Mod4";
in in
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
font-awesome-ttf font-awesome-ttf
intel-gpu-tools intel-gpu-tools
]; ];
xsession.windowManager.i3 = { xsession.windowManager.i3 = {
enable = true; enable = true;
config = { config = {
startup = [ startup = [
{ command = "exec hsetroot -solid '#002b36'"; always = true; notification = false; } { command = "exec hsetroot -solid '#002b36'"; always = true; notification = false; }
{ command = "exec setxkbmap -layout pl"; 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 $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 xdg-mime default org.gnome.Evince.desktop application/pdf"; always = false; notification = false; }
{ command = "exec ${pkgs.autorandr}/bin/autorandr -c"; 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";
};
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; indicator = true;
}; };
home.packages = with pkgs; [ kdeconnect ] ; home.packages = with pkgs; [ kdeconnect ];
} }

View file

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

View file

@ -1,4 +1,3 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
services.xserver = { services.xserver = {
@ -10,6 +9,6 @@
desktopManager.default = "plasma5"; desktopManager.default = "plasma5";
desktopManager.plasma5.enable = true; 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" ]; users.extraUsers.cyryl.extraGroups = [ "kvm" ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
virtmanager qemu swtpm virtmanager
qemu
swtpm
]; ];
} }

View file

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

View file

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

View file

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

View file

@ -1,151 +1,67 @@
with import <nixpkgs> {}; with import <nixpkgs> { };
let let
pyscrypt = python37.pkgs.buildPythonPackage rec { pyscrypt = python37.pkgs.buildPythonPackage rec {
pname = "pyscrypt"; pname = "pyscrypt";
version = "1.6.2"; 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";
src = pythonPackages.fetchPypi { src = pythonPackages.fetchPypi {
inherit pname version; 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 = [ propagatedBuildInputs = [
python37Packages.pytz
python37Packages.pytzdata
python37Packages.appdirs python37Packages.appdirs
python37Packages.asn1crypto python37Packages.asn1crypto
python37Packages.certifi python37Packages.certifi
@ -165,11 +81,100 @@ python37.pkgs.buildPythonPackage rec {
python37Packages.six python37Packages.six
python37Packages.urllib3 python37Packages.urllib3
python37Packages.vobject python37Packages.vobject
radicale
furl
orderedmultidict
pyscrypt 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 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, ... }: { config, pkgs, ... }:
{ {
boot.kernelPatches = [ { boot.kernelPatches = [{
name = "cyplo-hardened"; name = "cyplo-hardened";
patch = null; patch = null;
extraConfig = '' extraConfig = ''
@ -42,5 +42,5 @@
PROC_KCORE n PROC_KCORE n
INET_DIAG 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.log_martians" = true;
boot.kernel.sysctl."net.ipv4.conf.all.rp_filter" = "1"; 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.log_martians" = true;
boot.kernel.sysctl."net.ipv4.conf.default.rp_filter" = "1"; 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.icmp_echo_ignore_broadcasts" = true;
boot.kernel.sysctl."net.ipv4.conf.all.accept_redirects" = false; 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.all.secure_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.default.accept_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.ipv4.conf.default.secure_redirects" = false;
boot.kernel.sysctl."net.ipv6.conf.all.accept_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.ipv6.conf.default.accept_redirects" = false;
boot.kernel.sysctl."net.ipv4.conf.all.send_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.send_redirects" = false;
} }

View file

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

View file

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

View file

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

View file

@ -1,8 +1,9 @@
{ config, pkgs, inputs, ... }: { config, pkgs, inputs, ... }:
let 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 ]; environment.systemPackages = [ tailscale ];
services.tailscale = { services.tailscale = {
enable = true; enable = true;