diff --git a/nixos/backups.nix b/nixos/backups.nix index 93210c13..03bfebb6 100644 --- a/nixos/backups.nix +++ b/nixos/backups.nix @@ -1,25 +1,25 @@ { config, pkgs, ... }: let - extraArgs = [ "--exclude='.cache'" "--exclude='.rustup'" "--exclude='.cargo'" "--exclude='.local/share'" "--exclude='keybase'"]; + extraArgs = [ "--exclude='.cache'" "--exclude='.rustup'" "--exclude='.cargo'" "--exclude='.local/share'" "--exclude='keybase'" ]; in - { +{ - services = { - restic.backups.home-to-bolty = { - passwordFile = "/etc/nixos/secrets/restic-password-bolty"; - paths = [ "/home" ]; - repository = "rest:http://bolty:8000/"; - timerConfig = { OnCalendar = "hourly"; }; - extraBackupArgs = extraArgs; - }; - - restic.backups.home-to-b2 = { - passwordFile = "/etc/nixos/secrets/restic-password-b2"; - paths = [ "/home" ]; - repository = "b2:cyplo-restic-${config.networking.hostName}:/"; - timerConfig = { OnCalendar = "hourly"; }; - extraBackupArgs = extraArgs; - s3CredentialsFile = "/etc/nixos/secrets/b2-env"; - }; + services = { + restic.backups.home-to-bolty = { + passwordFile = "/etc/nixos/secrets/restic-password-bolty"; + paths = [ "/home" ]; + repository = "rest:http://bolty:8000/"; + timerConfig = { OnCalendar = "hourly"; }; + extraBackupArgs = extraArgs; }; - } + + restic.backups.home-to-b2 = { + passwordFile = "/etc/nixos/secrets/restic-password-b2"; + paths = [ "/home" ]; + repository = "b2:cyplo-restic-${config.networking.hostName}:/"; + timerConfig = { OnCalendar = "hourly"; }; + extraBackupArgs = extraArgs; + s3CredentialsFile = "/etc/nixos/secrets/b2-env"; + }; + }; +} diff --git a/nixos/boxes/bolty/bolty-boot.nix b/nixos/boxes/bolty/bolty-boot.nix index 65ebb1da..a1007e40 100644 --- a/nixos/boxes/bolty/bolty-boot.nix +++ b/nixos/boxes/bolty/bolty-boot.nix @@ -19,12 +19,14 @@ }; fileSystems."/" = - { device = "/dev/disk/by-uuid/28afab71-ff3d-4f1a-b7e4-2129572706dd"; + { + device = "/dev/disk/by-uuid/28afab71-ff3d-4f1a-b7e4-2129572706dd"; fsType = "btrfs"; }; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/5BFB-9E6B"; + { + device = "/dev/disk/by-uuid/5BFB-9E6B"; fsType = "vfat"; }; diff --git a/nixos/boxes/bolty/tailscale-bolty.nix b/nixos/boxes/bolty/tailscale-bolty.nix index bfcdd55c..424faa3c 100644 --- a/nixos/boxes/bolty/tailscale-bolty.nix +++ b/nixos/boxes/bolty/tailscale-bolty.nix @@ -1,10 +1,10 @@ { config, pkgs, inputs, lib, ... }: let - tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; + tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; in - { - systemd.services.tailscale-autoconnect = { - description = "Automatic connection to Tailscale"; +{ + systemd.services.tailscale-autoconnect = { + description = "Automatic connection to Tailscale"; # make sure tailscale is running before trying to connect to tailscale after = [ "network-pre.target" "tailscale.service" ]; diff --git a/nixos/boxes/cli.nix b/nixos/boxes/cli.nix index b1edd78d..d5e79a60 100644 --- a/nixos/boxes/cli.nix +++ b/nixos/boxes/cli.nix @@ -1,6 +1,12 @@ { config, pkgs, ... }: { environment.systemPackages = with pkgs; [ - vim tmux htop atop btrfs-progs compsize fd + vim + tmux + htop + atop + btrfs-progs + compsize + fd ]; } diff --git a/nixos/boxes/foureighty/custom-kernel.nix b/nixos/boxes/foureighty/custom-kernel.nix index 9f437c71..10f54f9c 100644 --- a/nixos/boxes/foureighty/custom-kernel.nix +++ b/nixos/boxes/foureighty/custom-kernel.nix @@ -1,89 +1,93 @@ { config, pkgs, ... }: { boot.kernelPackages = pkgs.linuxPackages_latest; - nixpkgs.overlays = [ (self: super: { buildLinux = x: super.buildLinux ({ - ignoreConfigErrors = true; - enableParallelBuilding = true; - } // x); } ) ]; - boot.kernelPatches = [ { + nixpkgs.overlays = [ + (self: super: { + buildLinux = x: super.buildLinux ({ + ignoreConfigErrors = true; + enableParallelBuilding = true; + } // x); + }) + ]; + boot.kernelPatches = [{ name = "foureighty"; patch = null; extraConfig = '' - ACPI_CUSTOM_METHOD n - ACPI_DPTF y - BUG y - CC_STACKPROTECTOR_STRONG y - CPU_IDLE_GOV_HALTPOLL y - CPU_IDLE_GOV_TEO y - DEBUG_CREDENTIALS y - DEBUG_NOTIFIERS y - DEBUG_PI_LIST y - DEBUG_PLIST y - DEBUG_RODATA y - DEBUG_SET_MODULE_RONX y - DEBUG_SG y - DEVMEM y - DPTF_PCH_FIVR m - DPTF_POWER m - ENERGY_MODEL y - FORTIFY_SOURCE y - GCC_PLUGINS y - GCC_PLUGIN_LATENT_ENTROPY y - GCC_PLUGIN_RANDSTRUCT y - GCC_PLUGIN_RANDSTRUCT_PERFORMANCE y - GCC_PLUGIN_STACKLEAK y - GCC_PLUGIN_STRUCTLEAK y - GCC_PLUGIN_STRUCTLEAK_BYREF_ALL y - HARDENED_USERCOPY y - HARDENED_USERCOPY_FALLBACK y - HARDLOCKUP_DETECTOR y - HZ_300 y - INET_DIAG n - INET_DIAG_DESTROY option no - INET_MPTCP_DIAG option no - INET_RAW_DIAG option no - INET_TCP_DIAG option no - INET_UDP_DIAG option no - INIT_ON_ALLOC_DEFAULT_ON y - INIT_ON_FREE_DEFAULT_ON y - INTEL_TXT y - KEXEC n - KFENCE y - LEGACY_VSYSCALL_NONE y - LOCKUP_DETECTOR y - MCORE2 y - NR_CPUS 16 - NUMA_BALANCING y - NUMA_BALANCING_DEFAULT_ENABLED y - PAGE_POISONING y - PAGE_POISONING_NO_SANITY y - PAGE_POISONING_ZERO y - PANIC_TIMEOUT -1 - PM_AUTOSLEEP y - POWER_EFFICIENT_DEFAULT y - PREEMPT y - PREEMPTION y - PREEMPT_COUNT y - PREEMPT_DYNAMIC y - PREEMPT_RCU y - PROC_KCORE n - RANDOMIZE_KSTACK_OFFSET_DEFAULT y - SCHED_CORE y - SCHED_STACK_END_CHECK y - SECURITY_SAFESETID y - SECURITY_SELINUX_DISABLE n - SECURITY_WRITABLE_HOOKS n - SHUFFLE_PAGE_ALLOCATOR y - SLAB_FREELIST_HARDENED y - SLAB_FREELIST_RANDOM y - SLUB_DEBUG y - STRICT_DEVMEM y - STRICT_KERNEL_RWX y - UNINLINE_SPIN_UNLOCK y - WATCH_QUEUE y - X86_INTEL_TSX_MODE_AUTO y - X86_SGX y - X86_SGX_KVM y + ACPI_CUSTOM_METHOD n + ACPI_DPTF y + BUG y + CC_STACKPROTECTOR_STRONG y + CPU_IDLE_GOV_HALTPOLL y + CPU_IDLE_GOV_TEO y + DEBUG_CREDENTIALS y + DEBUG_NOTIFIERS y + DEBUG_PI_LIST y + DEBUG_PLIST y + DEBUG_RODATA y + DEBUG_SET_MODULE_RONX y + DEBUG_SG y + DEVMEM y + DPTF_PCH_FIVR m + DPTF_POWER m + ENERGY_MODEL y + FORTIFY_SOURCE y + GCC_PLUGINS y + GCC_PLUGIN_LATENT_ENTROPY y + GCC_PLUGIN_RANDSTRUCT y + GCC_PLUGIN_RANDSTRUCT_PERFORMANCE y + GCC_PLUGIN_STACKLEAK y + GCC_PLUGIN_STRUCTLEAK y + GCC_PLUGIN_STRUCTLEAK_BYREF_ALL y + HARDENED_USERCOPY y + HARDENED_USERCOPY_FALLBACK y + HARDLOCKUP_DETECTOR y + HZ_300 y + INET_DIAG n + INET_DIAG_DESTROY option no + INET_MPTCP_DIAG option no + INET_RAW_DIAG option no + INET_TCP_DIAG option no + INET_UDP_DIAG option no + INIT_ON_ALLOC_DEFAULT_ON y + INIT_ON_FREE_DEFAULT_ON y + INTEL_TXT y + KEXEC n + KFENCE y + LEGACY_VSYSCALL_NONE y + LOCKUP_DETECTOR y + MCORE2 y + NR_CPUS 16 + NUMA_BALANCING y + NUMA_BALANCING_DEFAULT_ENABLED y + PAGE_POISONING y + PAGE_POISONING_NO_SANITY y + PAGE_POISONING_ZERO y + PANIC_TIMEOUT -1 + PM_AUTOSLEEP y + POWER_EFFICIENT_DEFAULT y + PREEMPT y + PREEMPTION y + PREEMPT_COUNT y + PREEMPT_DYNAMIC y + PREEMPT_RCU y + PROC_KCORE n + RANDOMIZE_KSTACK_OFFSET_DEFAULT y + SCHED_CORE y + SCHED_STACK_END_CHECK y + SECURITY_SAFESETID y + SECURITY_SELINUX_DISABLE n + SECURITY_WRITABLE_HOOKS n + SHUFFLE_PAGE_ALLOCATOR y + SLAB_FREELIST_HARDENED y + SLAB_FREELIST_RANDOM y + SLUB_DEBUG y + STRICT_DEVMEM y + STRICT_KERNEL_RWX y + UNINLINE_SPIN_UNLOCK y + WATCH_QUEUE y + X86_INTEL_TSX_MODE_AUTO y + X86_SGX y + X86_SGX_KVM y ''; - } ]; + }]; } diff --git a/nixos/boxes/foureighty/default.nix b/nixos/boxes/foureighty/default.nix index b9ad2080..c6233602 100644 --- a/nixos/boxes/foureighty/default.nix +++ b/nixos/boxes/foureighty/default.nix @@ -48,7 +48,7 @@ fonts.fontconfig.enable = true; programs.steam.enable = true; - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { imports = [ ../../home-manager/programs/kitty.nix ]; diff --git a/nixos/boxes/foureighty/nvidia.nix b/nixos/boxes/foureighty/nvidia.nix index 7bdf37a1..fe40822b 100644 --- a/nixos/boxes/foureighty/nvidia.nix +++ b/nixos/boxes/foureighty/nvidia.nix @@ -17,17 +17,17 @@ let glxinfo | grep vendor; echo OK!; ''; in - { - environment.systemPackages = [ nvidia-offload whichgpu nvidiaon ]; - hardware.opengl.enable = true; - hardware.opengl.driSupport32Bit = true; - hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ]; - services.xserver.videoDrivers = [ "nvidia" ]; - hardware.nvidia.prime = { - offload.enable = true; - # Bus ID of the Intel GPU. You can find it using lspci, either under 3D or VGA - intelBusId = "PCI:0:2:0"; - # Bus ID of the NVIDIA GPU. You can find it using lspci, either under 3D or VGA - nvidiaBusId = "PCI:1:0:0"; - }; - } +{ + environment.systemPackages = [ nvidia-offload whichgpu nvidiaon ]; + hardware.opengl.enable = true; + hardware.opengl.driSupport32Bit = true; + hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ]; + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.nvidia.prime = { + offload.enable = true; + # Bus ID of the Intel GPU. You can find it using lspci, either under 3D or VGA + intelBusId = "PCI:0:2:0"; + # Bus ID of the NVIDIA GPU. You can find it using lspci, either under 3D or VGA + nvidiaBusId = "PCI:1:0:0"; + }; +} diff --git a/nixos/boxes/foureighty/tailscale-foureighty.nix b/nixos/boxes/foureighty/tailscale-foureighty.nix index a7bf32a7..c0440eb6 100644 --- a/nixos/boxes/foureighty/tailscale-foureighty.nix +++ b/nixos/boxes/foureighty/tailscale-foureighty.nix @@ -1,10 +1,10 @@ { config, pkgs, inputs, lib, ... }: let - tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; + tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; in - { - systemd.services.tailscale-autoconnect = { - description = "Automatic connection to Tailscale"; +{ + systemd.services.tailscale-autoconnect = { + description = "Automatic connection to Tailscale"; # make sure tailscale is running before trying to connect to tailscale after = [ "network-pre.target" "tailscale.service" ]; diff --git a/nixos/boxes/skinnyv/default.nix b/nixos/boxes/skinnyv/default.nix index 3c3247d5..25250f86 100644 --- a/nixos/boxes/skinnyv/default.nix +++ b/nixos/boxes/skinnyv/default.nix @@ -23,7 +23,7 @@ services.thermald.enable = true; fonts.fontconfig.enable = true; - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { imports = [ ../../home-manager/programs/kitty.nix ]; diff --git a/nixos/boxes/skinnyv/tailscale-skinnyv.nix b/nixos/boxes/skinnyv/tailscale-skinnyv.nix index 502a1529..989ed1f2 100644 --- a/nixos/boxes/skinnyv/tailscale-skinnyv.nix +++ b/nixos/boxes/skinnyv/tailscale-skinnyv.nix @@ -1,10 +1,10 @@ { config, pkgs, inputs, lib, ... }: let - tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; + tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; in - { - systemd.services.tailscale-autoconnect = { - description = "Automatic connection to Tailscale"; +{ + systemd.services.tailscale-autoconnect = { + description = "Automatic connection to Tailscale"; # make sure tailscale is running before trying to connect to tailscale after = [ "network-pre.target" "tailscale.service" ]; diff --git a/nixos/boxes/thinky/default.nix b/nixos/boxes/thinky/default.nix index 4f0efc31..20fc75b5 100644 --- a/nixos/boxes/thinky/default.nix +++ b/nixos/boxes/thinky/default.nix @@ -26,7 +26,7 @@ memoryPercent = 50; }; fonts.fontconfig.enable = true; - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { imports = [ ../../home-manager/programs/termite.nix ]; diff --git a/nixos/boxes/thinky/tailscale-thinky.nix b/nixos/boxes/thinky/tailscale-thinky.nix index fdea5450..8848f04e 100644 --- a/nixos/boxes/thinky/tailscale-thinky.nix +++ b/nixos/boxes/thinky/tailscale-thinky.nix @@ -1,10 +1,10 @@ { config, pkgs, inputs, lib, ... }: let - tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; + tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; in - { - systemd.services.tailscale-autoconnect = { - description = "Automatic connection to Tailscale"; +{ + systemd.services.tailscale-autoconnect = { + description = "Automatic connection to Tailscale"; # make sure tailscale is running before trying to connect to tailscale after = [ "network-pre.target" "tailscale.service" ]; diff --git a/nixos/boxes/vm.nix b/nixos/boxes/vm.nix index fad12cc7..7bb8b97e 100644 --- a/nixos/boxes/vm.nix +++ b/nixos/boxes/vm.nix @@ -1,4 +1,3 @@ - { config, pkgs, lib, ... }: { time.timeZone = "Europe/London"; diff --git a/nixos/boxes/vultr1/matrix-front.nix b/nixos/boxes/vultr1/matrix-front.nix index 41f0f29c..5c4ddfb5 100644 --- a/nixos/boxes/vultr1/matrix-front.nix +++ b/nixos/boxes/vultr1/matrix-front.nix @@ -9,32 +9,34 @@ locations."= /.well-known/matrix/server".extraConfig = let server = { "m.server" = "cyplo.dev:443"; }; - in '' + in + '' add_header Content-Type application/json; return 200 '${builtins.toJSON server}'; ''; - locations."= /.well-known/matrix/client".extraConfig = - let - client = { - "m.homeserver" = { "base_url" = "https://cyplo.dev"; }; - "m.identity_server" = { "base_url" = "https://vector.im"; }; - }; - in '' - add_header Content-Type application/json; - add_header Access-Control-Allow-Origin *; - return 200 '${builtins.toJSON client}'; - ''; - - locations."/".extraConfig = '' - return 404; - ''; - - locations."/_matrix" = { - proxyPass = "http://bolty:8008"; # without a trailing / + locations."= /.well-known/matrix/client".extraConfig = + let + client = { + "m.homeserver" = { "base_url" = "https://cyplo.dev"; }; + "m.identity_server" = { "base_url" = "https://vector.im"; }; }; - }; + in + '' + add_header Content-Type application/json; + add_header Access-Control-Allow-Origin *; + return 200 '${builtins.toJSON client}'; + ''; + + locations."/".extraConfig = '' + return 404; + ''; + + locations."/_matrix" = { + proxyPass = "http://bolty:8008"; # without a trailing / }; }; + }; + }; - } +} diff --git a/nixos/boxes/vultr1/tailscale-vultr1.nix b/nixos/boxes/vultr1/tailscale-vultr1.nix index 502a1529..989ed1f2 100644 --- a/nixos/boxes/vultr1/tailscale-vultr1.nix +++ b/nixos/boxes/vultr1/tailscale-vultr1.nix @@ -1,10 +1,10 @@ { config, pkgs, inputs, lib, ... }: let - tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; + tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; in - { - systemd.services.tailscale-autoconnect = { - description = "Automatic connection to Tailscale"; +{ + systemd.services.tailscale-autoconnect = { + description = "Automatic connection to Tailscale"; # make sure tailscale is running before trying to connect to tailscale after = [ "network-pre.target" "tailscale.service" ]; diff --git a/nixos/common-hardware.nix b/nixos/common-hardware.nix index 7de8f0bb..c26b01a3 100644 --- a/nixos/common-hardware.nix +++ b/nixos/common-hardware.nix @@ -41,7 +41,7 @@ support32Bit = true; extraModules = [ pkgs.pulseaudio-modules-bt ]; daemon.config = { - nice-level= -15; + nice-level = -15; realtime-scheduling = "yes"; }; }; diff --git a/nixos/common-services.nix b/nixos/common-services.nix index 253a4a3b..7ffd8f91 100644 --- a/nixos/common-services.nix +++ b/nixos/common-services.nix @@ -20,7 +20,7 @@ fstrim.enable = true; clipmenu.enable = true; lorri.enable = true; - keybase.enable=true; + keybase.enable = true; avahi = { enable = true; @@ -44,8 +44,8 @@ useGlamor = true; deviceSection = '' - Option "TearFree" "true" - Option "AccelMethod" "sna" + Option "TearFree" "true" + Option "AccelMethod" "sna" ''; }; diff --git a/nixos/common.nix b/nixos/common.nix index cbfc1c4b..0df46623 100644 --- a/nixos/common.nix +++ b/nixos/common.nix @@ -8,51 +8,64 @@ ./syncthing.nix ]; - security.allowUserNamespaces = true; + security.allowUserNamespaces = true; - environment.enableDebugInfo = true; + environment.enableDebugInfo = true; - nixpkgs.config.allowUnfree = true; - environment.systemPackages = with pkgs; [ - wget git gnupg curl tmux htop atop home-manager pciutils powertop fd dnsutils usbutils veracrypt - ]; + nixpkgs.config.allowUnfree = true; + environment.systemPackages = with pkgs; [ + wget + git + gnupg + curl + tmux + htop + atop + home-manager + pciutils + powertop + fd + dnsutils + usbutils + veracrypt + ]; - i18n.defaultLocale = "en_GB.UTF-8"; + i18n.defaultLocale = "en_GB.UTF-8"; - users.users.cyryl = { - isNormalUser = true; - extraGroups = [ "wheel" "networkmanager" "video" "scanner" "lp" "docker" "vboxusers" "adbusers" "libvirtd" "dialout" "wireshark" ]; - shell = pkgs.zsh; - }; + users.users.cyryl = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" "video" "scanner" "lp" "docker" "vboxusers" "adbusers" "libvirtd" "dialout" "wireshark" ]; + shell = pkgs.zsh; + }; - networking.hosts = { - "10.11.99.1" = [ "remarkable" ]; - }; + networking.hosts = { + "10.11.99.1" = [ "remarkable" ]; + }; - programs.light.enable = true; - programs.adb.enable = true; - programs.wireshark.enable=true; + programs.light.enable = true; + programs.adb.enable = true; + programs.wireshark.enable = true; - virtualisation.docker = { - enable = true; - autoPrune.enable = true; - }; + virtualisation.docker = { + enable = true; + autoPrune.enable = true; + }; - fonts.fonts = with pkgs; [ powerline-fonts weather-icons material-icons source-code-pro fira-code noto-fonts-emoji emojione iosevka font-awesome nerdfonts ]; + fonts.fonts = with pkgs; [ powerline-fonts weather-icons material-icons source-code-pro fira-code noto-fonts-emoji emojione iosevka font-awesome nerdfonts ]; - nix = { - autoOptimiseStore = true; - daemonIONiceLevel = 7; - daemonNiceLevel = 19; - gc.automatic = true; - optimise.automatic = true; - package = pkgs.nixUnstable; - extraOptions = '' - experimental-features = nix-command flakes - ''; - }; + nix = { + autoOptimiseStore = true; + daemonIONiceLevel = 7; + daemonNiceLevel = 19; + gc.automatic = true; + optimise.automatic = true; + package = pkgs.nixUnstable; + extraOptions = '' + experimental-features = nix-command flakes + ''; + }; - system = { - stateVersion = "20.03"; - }; - } + system = { + stateVersion = "20.03"; + }; +} diff --git a/nixos/distributed-builds.nix b/nixos/distributed-builds.nix index 56caf7be..aa76b06b 100644 --- a/nixos/distributed-builds.nix +++ b/nixos/distributed-builds.nix @@ -18,7 +18,7 @@ ]; nix.extraOptions = '' - builders-use-substitutes = true + builders-use-substitutes = true ''; nix.distributedBuilds = true; diff --git a/nixos/email-accounts.nix b/nixos/email-accounts.nix index fe942d2b..ac26ea88 100644 --- a/nixos/email-accounts.nix +++ b/nixos/email-accounts.nix @@ -1,6 +1,6 @@ { config, pkgs, ... }: { - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { accounts.email.accounts.cyplo = { primary = true; address = "cyplo@cyplo.dev"; diff --git a/nixos/enlightenment/home.nix b/nixos/enlightenment/home.nix index 15e33ea4..6c41a6ae 100644 --- a/nixos/enlightenment/home.nix +++ b/nixos/enlightenment/home.nix @@ -1,7 +1,6 @@ { config, pkgs, ... }: { - services = { - }; + services = { }; xsession = { enable = false; diff --git a/nixos/enlightenment/system.nix b/nixos/enlightenment/system.nix index 0f11feed..147adcca 100644 --- a/nixos/enlightenment/system.nix +++ b/nixos/enlightenment/system.nix @@ -4,6 +4,6 @@ enable = true; desktopManager.enlightenment.enable = true; }; - users.users.cyryl.packages = with pkgs; []; + users.users.cyryl.packages = with pkgs; [ ]; } diff --git a/nixos/gfx-nvidia-optimus.nix b/nixos/gfx-nvidia-optimus.nix index 965b2b91..4b22b04a 100644 --- a/nixos/gfx-nvidia-optimus.nix +++ b/nixos/gfx-nvidia-optimus.nix @@ -8,17 +8,17 @@ let exec -a "$0" "$@" ''; in - { - environment.systemPackages = [ nvidia-offload ]; +{ + environment.systemPackages = [ nvidia-offload ]; - services.xserver.videoDrivers = [ "nvidia" ]; - hardware.opengl = { enable = true; }; + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.opengl = { enable = true; }; - hardware.nvidia.modesetting.enable = true; - hardware.nvidia.prime.offload.enable = true; - hardware.nvidia.prime = { - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - }; - } + hardware.nvidia.modesetting.enable = true; + hardware.nvidia.prime.offload.enable = true; + hardware.nvidia.prime = { + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; +} diff --git a/nixos/git/default.nix b/nixos/git/default.nix index 2c4065d1..334780b1 100644 --- a/nixos/git/default.nix +++ b/nixos/git/default.nix @@ -1,6 +1,6 @@ { config, pkgs, lib, ... }: { - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { imports = [ ./home.nix ]; diff --git a/nixos/git/home.nix b/nixos/git/home.nix index ed93c379..1be3dfef 100644 --- a/nixos/git/home.nix +++ b/nixos/git/home.nix @@ -14,7 +14,7 @@ }; extraConfig = { colour.ui = true; - credential = { helper ="cache"; }; + credential = { helper = "cache"; }; diff.algorithm = "histogram"; diff.renameLimit = 2048; diff.renames = "copy"; @@ -31,5 +31,5 @@ head = "log HEAD -n1"; vacuum = "!git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs -r git branch -D && git gc --aggressive --auto"; }; - }; - } + }; +} diff --git a/nixos/gnome/default.nix b/nixos/gnome/default.nix index 7cbe14ea..a74eb9ec 100644 --- a/nixos/gnome/default.nix +++ b/nixos/gnome/default.nix @@ -4,7 +4,7 @@ ./system.nix ]; - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { imports = [ ./home.nix ]; diff --git a/nixos/gnome/home.nix b/nixos/gnome/home.nix index 71a4767c..98bbf9ed 100644 --- a/nixos/gnome/home.nix +++ b/nixos/gnome/home.nix @@ -1,14 +1,14 @@ { config, pkgs, ... }: { - services = { - }; + services = { }; xsession = { enable = false; }; home.packages = with pkgs; [ - gnome-usage gnome3.gnome-tweaks + gnome-usage + gnome3.gnome-tweaks ]; programs.gnome-terminal = { diff --git a/nixos/gnome/system.nix b/nixos/gnome/system.nix index 3ea5192b..da59bd75 100644 --- a/nixos/gnome/system.nix +++ b/nixos/gnome/system.nix @@ -10,7 +10,10 @@ services.flatpak.enable = true; services.dbus.packages = with pkgs; [ gnome2.GConf gnome3.dconf gcr ]; users.users.cyryl.packages = with pkgs.gnomeExtensions; [ - caffeine clipboard-indicator sound-output-device-chooser gsconnect + caffeine + clipboard-indicator + sound-output-device-chooser + gsconnect ]; } diff --git a/nixos/gsconnect.nix b/nixos/gsconnect.nix index 8564a143..7d1320e4 100644 --- a/nixos/gsconnect.nix +++ b/nixos/gsconnect.nix @@ -1,5 +1,5 @@ { config, pkgs, ... }: { - networking.firewall.allowedTCPPortRanges = [ { from = 1716; to = 1764; } ]; - networking.firewall.allowedUDPPortRanges = [ { from = 1716; to = 1764; } ]; + networking.firewall.allowedTCPPortRanges = [{ from = 1716; to = 1764; }]; + networking.firewall.allowedUDPPortRanges = [{ from = 1716; to = 1764; }]; } diff --git a/nixos/gui/default.nix b/nixos/gui/default.nix index 5cdd7ff7..283e11e5 100644 --- a/nixos/gui/default.nix +++ b/nixos/gui/default.nix @@ -2,77 +2,77 @@ let unstable = inputs.nixpkgs-nixos-unstable.legacyPackages.${pkgs.system}; in - { - home-manager.users.cyryl = {...}: { - gtk = { - enable = true; - iconTheme = { - name = "Adwaita"; - package = pkgs.gnome3.adwaita-icon-theme; - }; +{ + home-manager.users.cyryl = { ... }: { + gtk = { + enable = true; + iconTheme = { + name = "Adwaita"; + package = pkgs.gnome3.adwaita-icon-theme; }; - qt = { - enable = true; - platformTheme = "gnome"; - style.name = "adwaita-dark"; - style.package = pkgs.adwaita-qt; - }; - - imports = [ - ./vscode.nix - ]; - - home.packages = with pkgs; with pkgs.gnome3; with pkgs.python38Packages; [ - anarchism - apvlv - binwalk-full - brave - cheese - digikam - discord - electrum - element-desktop - eog - evince - fontconfig - freecad - ghidra-bin - gimp - glxinfo - gnome-screenshot - gsettings-desktop-schemas - hopper - inkscape - keybase-gui - libreoffice - mindforger - modem-manager-gui - nautilus - nyxt - obs-studio - openscad - passff-host - pdfarranger - qcad - qemu - shotwell - signal-desktop - simple-scan - slack - spotify - ssb-patchwork - unstable.tor-browser-bundle-bin - vlc - wineFull - wireshark - wsjtx - xclip - xidlehook - yubico-piv-tool - yubikey-manager-qt - yubikey-personalization - yubikey-personalization-gui - zoom-us - ]; }; - } + qt = { + enable = true; + platformTheme = "gnome"; + style.name = "adwaita-dark"; + style.package = pkgs.adwaita-qt; + }; + + imports = [ + ./vscode.nix + ]; + + home.packages = with pkgs; with pkgs.gnome3; with pkgs.python38Packages; [ + anarchism + apvlv + binwalk-full + brave + cheese + digikam + discord + electrum + element-desktop + eog + evince + fontconfig + freecad + ghidra-bin + gimp + glxinfo + gnome-screenshot + gsettings-desktop-schemas + hopper + inkscape + keybase-gui + libreoffice + mindforger + modem-manager-gui + nautilus + nyxt + obs-studio + openscad + passff-host + pdfarranger + qcad + qemu + shotwell + signal-desktop + simple-scan + slack + spotify + ssb-patchwork + unstable.tor-browser-bundle-bin + vlc + wineFull + wireshark + wsjtx + xclip + xidlehook + yubico-piv-tool + yubikey-manager-qt + yubikey-personalization + yubikey-personalization-gui + zoom-us + ]; + }; +} diff --git a/nixos/gui/vscode.nix b/nixos/gui/vscode.nix index bb91f898..1f82f6a4 100644 --- a/nixos/gui/vscode.nix +++ b/nixos/gui/vscode.nix @@ -15,114 +15,115 @@ }; buildInputs = with pkgs; [ llvm lldb python37 autoPatchelfHook ]; } - ) - ] + ) + ] - ++ + ++ - vscode-utils.extensionsFromVscodeMarketplace [ - { - publisher = "vscodevim"; - name = "vim"; - version = "1.21.7"; - sha256 = "sha256-nCcDafZ2CUhTjVha+6Mjxoil61xMGboO5lajc7dGEJg="; - } - { - publisher = "matklad"; - name = "rust-analyzer"; - version = "0.2.792"; - sha256 = "sha256-OPSZ1sKVxgh8SN9UR8vtlICdznUXdaCkzNJBX5w1j9Q="; - } - { - publisher = "sjhuangx"; - name = "vscode-scheme"; - version = "0.4.0"; - sha256 = "07vjfymvfv98s5r5a4b5iqhgfz1wpgq2l8h3wlq1bnhhhvmq5pq4"; - } - { - publisher = "shaunlebron"; - name = "vscode-parinfer"; - version = "0.6.2"; - sha256 = "0h4v4rnximy6rbh83y4s2qj1cqbj66g9wld39mzd0zwgi6ig9syd"; - } - { - publisher = "swyphcosmo"; - name = "spellchecker"; - version = "1.2.13"; - sha256 = "1lr33lf01afgi74c1a9gylk92li4hyq24l8bki4l6ggl4z4c2h3w"; - } - { - publisher = "asabil"; - name = "meson"; - version = "1.1.1"; - sha256 = "00cc28a2nb325f54bx51wf5q15x1pmsn0j9z6rnxxqxwii1dm5cl"; - } - { - publisher = "bungcip"; - name = "better-toml"; - version = "0.3.2"; - sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3"; - } - { - publisher = "codezombiech"; - name = "gitignore"; - version = "0.6.0"; - sha256 = "0gnc0691pwkd9s8ldqabmpfvj0236rw7bxvkf0bvmww32kv1ia0b"; - } - { - publisher = "DavidAnson"; - name = "vscode-markdownlint"; - version = "0.26.0"; - sha256 = "0g4pssvajn7d8p2547v7313gjyqx4pzs7cbjws2s3v2fk1sw7vbj"; - } - { - publisher = "esbenp"; - name = "prettier-vscode"; - version = "1.8.1"; - sha256 = "0qcm2784n9qc4p77my1kwqrswpji7bp895ay17yzs5g84cj010ln"; - } - { - publisher = "hbenl"; - name = "vscode-test-explorer"; - version = "2.9.3"; - sha256 = "1yf85hgvganxq5n5jff9ckn3smxd6xi79cgn6k53qi5w1r5rahy0"; - } - { - publisher = "lextudio"; - name = "restructuredtext"; - version = "106.0.0"; - sha256 = "096r8071202nxi1is6z7dghcmpsh0f0mm3mp3cfh1yj2mnyzlaxa"; - } - { - publisher = "lostintangent"; - name = "vsls-pomodoro"; - version = "0.1.0"; - sha256 = "1b73zbkhlhacvi18cx4g3n6randy3hw9cab1gkw5gzb3375w7w3p"; - } - { - publisher = "lostintangent"; - name = "vsls-whiteboard"; - version = "0.0.8"; - sha256 = "13fcay9bs861msb5y694casbw66dmhl504xm5cvprssx1qka186p"; - } - { - publisher = "mechatroner"; - name = "rainbow-csv"; - version = "1.0.0"; - sha256 = "1fyamgm7zq31r3c00cn6pcb66rrkfhwfmp72qnhrajydmnvcnbg6"; - } - { - publisher = "ronnidc"; - name = "nunjucks"; - version = "0.2.3"; - sha256 = "119xgyn1dggw2rcqkn2mnz364iw5jlrxg7pcydbijsqj5d3zdfsf"; - } - { - publisher = "serayuzgur"; - name = "crates"; - version = "0.4.2"; - sha256 = "1knspsc98cfw4mhc0yaz0f2185sxdf9kn9qsysfs6c82g9wjaqcj"; - } - ];}) + vscode-utils.extensionsFromVscodeMarketplace [ + { + publisher = "vscodevim"; + name = "vim"; + version = "1.21.7"; + sha256 = "sha256-nCcDafZ2CUhTjVha+6Mjxoil61xMGboO5lajc7dGEJg="; + } + { + publisher = "matklad"; + name = "rust-analyzer"; + version = "0.2.792"; + sha256 = "sha256-OPSZ1sKVxgh8SN9UR8vtlICdznUXdaCkzNJBX5w1j9Q="; + } + { + publisher = "sjhuangx"; + name = "vscode-scheme"; + version = "0.4.0"; + sha256 = "07vjfymvfv98s5r5a4b5iqhgfz1wpgq2l8h3wlq1bnhhhvmq5pq4"; + } + { + publisher = "shaunlebron"; + name = "vscode-parinfer"; + version = "0.6.2"; + sha256 = "0h4v4rnximy6rbh83y4s2qj1cqbj66g9wld39mzd0zwgi6ig9syd"; + } + { + publisher = "swyphcosmo"; + name = "spellchecker"; + version = "1.2.13"; + sha256 = "1lr33lf01afgi74c1a9gylk92li4hyq24l8bki4l6ggl4z4c2h3w"; + } + { + publisher = "asabil"; + name = "meson"; + version = "1.1.1"; + sha256 = "00cc28a2nb325f54bx51wf5q15x1pmsn0j9z6rnxxqxwii1dm5cl"; + } + { + publisher = "bungcip"; + name = "better-toml"; + version = "0.3.2"; + sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3"; + } + { + publisher = "codezombiech"; + name = "gitignore"; + version = "0.6.0"; + sha256 = "0gnc0691pwkd9s8ldqabmpfvj0236rw7bxvkf0bvmww32kv1ia0b"; + } + { + publisher = "DavidAnson"; + name = "vscode-markdownlint"; + version = "0.26.0"; + sha256 = "0g4pssvajn7d8p2547v7313gjyqx4pzs7cbjws2s3v2fk1sw7vbj"; + } + { + publisher = "esbenp"; + name = "prettier-vscode"; + version = "1.8.1"; + sha256 = "0qcm2784n9qc4p77my1kwqrswpji7bp895ay17yzs5g84cj010ln"; + } + { + publisher = "hbenl"; + name = "vscode-test-explorer"; + version = "2.9.3"; + sha256 = "1yf85hgvganxq5n5jff9ckn3smxd6xi79cgn6k53qi5w1r5rahy0"; + } + { + publisher = "lextudio"; + name = "restructuredtext"; + version = "106.0.0"; + sha256 = "096r8071202nxi1is6z7dghcmpsh0f0mm3mp3cfh1yj2mnyzlaxa"; + } + { + publisher = "lostintangent"; + name = "vsls-pomodoro"; + version = "0.1.0"; + sha256 = "1b73zbkhlhacvi18cx4g3n6randy3hw9cab1gkw5gzb3375w7w3p"; + } + { + publisher = "lostintangent"; + name = "vsls-whiteboard"; + version = "0.0.8"; + sha256 = "13fcay9bs861msb5y694casbw66dmhl504xm5cvprssx1qka186p"; + } + { + publisher = "mechatroner"; + name = "rainbow-csv"; + version = "1.0.0"; + sha256 = "1fyamgm7zq31r3c00cn6pcb66rrkfhwfmp72qnhrajydmnvcnbg6"; + } + { + publisher = "ronnidc"; + name = "nunjucks"; + version = "0.2.3"; + sha256 = "119xgyn1dggw2rcqkn2mnz364iw5jlrxg7pcydbijsqj5d3zdfsf"; + } + { + publisher = "serayuzgur"; + name = "crates"; + version = "0.4.2"; + sha256 = "1knspsc98cfw4mhc0yaz0f2185sxdf9kn9qsysfs6c82g9wjaqcj"; + } ]; - } + }) + ]; +} diff --git a/nixos/home-manager/cli.nix b/nixos/home-manager/cli.nix index 99444ca6..fb90eaea 100644 --- a/nixos/home-manager/cli.nix +++ b/nixos/home-manager/cli.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { home.packages = with pkgs; [ - ( pass.withExtensions (ext: [ ext.pass-otp ext.pass-import ext.pass-genphrase ext.pass-audit ext.pass-update ])) + (pass.withExtensions (ext: [ ext.pass-otp ext.pass-import ext.pass-genphrase ext.pass-audit ext.pass-update ])) apvlv aria atop @@ -31,6 +31,7 @@ mercurial nix-index nix-top + nixpkgs-fmt pciutils powertop ranger diff --git a/nixos/home-manager/default.nix b/nixos/home-manager/default.nix index ce29c17a..2b80cdb4 100644 --- a/nixos/home-manager/default.nix +++ b/nixos/home-manager/default.nix @@ -2,9 +2,9 @@ { home.sessionVariables = { - LC_ALL="en_GB.UTF-8"; - LANG="en_GB.UTF-8"; - PASSWORD_STORE_ENABLE_EXTENSIONS="true"; + LC_ALL = "en_GB.UTF-8"; + LANG = "en_GB.UTF-8"; + PASSWORD_STORE_ENABLE_EXTENSIONS = "true"; }; news.display = "show"; @@ -14,7 +14,7 @@ glibcLocales ]; - services.gpg-agent= { + services.gpg-agent = { enable = true; pinentryFlavor = "curses"; }; diff --git a/nixos/home-manager/programs.nix b/nixos/home-manager/programs.nix index 467cca3c..30334391 100644 --- a/nixos/home-manager/programs.nix +++ b/nixos/home-manager/programs.nix @@ -13,8 +13,7 @@ gpg = { enable = true; - settings = { - }; + settings = { }; }; taskwarrior.enable = true; fzf.enable = true; diff --git a/nixos/home-manager/programs/alacritty.nix b/nixos/home-manager/programs/alacritty.nix index 12fbe439..767477ed 100644 --- a/nixos/home-manager/programs/alacritty.nix +++ b/nixos/home-manager/programs/alacritty.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { home.sessionVariables = { - TERMINAL="alacritty"; + TERMINAL = "alacritty"; }; programs.alacritty = { @@ -23,40 +23,40 @@ colors = { primary = { - background= "0x002b36"; - foreground= "0x839496"; + background = "0x002b36"; + foreground = "0x839496"; }; normal = { - black= "0x073642"; - red= "0xdc322f"; - green= "0x859900"; - yellow= "0xb58900"; - blue= "0x268bd2"; - magenta= "0xd33682"; - cyan= "0x2aa198"; - white= "0xeee8d5"; + black = "0x073642"; + red = "0xdc322f"; + green = "0x859900"; + yellow = "0xb58900"; + blue = "0x268bd2"; + magenta = "0xd33682"; + cyan = "0x2aa198"; + white = "0xeee8d5"; }; bright = { - black= "0x002b36"; - red= "0xcb4b16"; - green= "0x586e75"; - yellow= "0x657b83"; - blue= "0x839496"; - magenta= "0x6c71c4"; - cyan= "0x93a1a1"; - white= "0xfdf6e3"; + black = "0x002b36"; + red = "0xcb4b16"; + green = "0x586e75"; + yellow = "0x657b83"; + blue = "0x839496"; + magenta = "0x6c71c4"; + cyan = "0x93a1a1"; + white = "0xfdf6e3"; }; background_opacity = 0.9; - dynamic_title= true; + dynamic_title = true; }; - cursor= { + cursor = { style = "Block"; - unfocused_hollow= true; + unfocused_hollow = true; }; - live_config_reload= true; + live_config_reload = true; }; }; } diff --git a/nixos/home-manager/programs/emacs/default.nix b/nixos/home-manager/programs/emacs/default.nix index 2c4065d1..334780b1 100644 --- a/nixos/home-manager/programs/emacs/default.nix +++ b/nixos/home-manager/programs/emacs/default.nix @@ -1,6 +1,6 @@ { config, pkgs, lib, ... }: { - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { imports = [ ./home.nix ]; diff --git a/nixos/home-manager/programs/emacs/emacs.nix b/nixos/home-manager/programs/emacs/emacs.nix index 22483923..fd1af260 100644 --- a/nixos/home-manager/programs/emacs/emacs.nix +++ b/nixos/home-manager/programs/emacs/emacs.nix @@ -3,18 +3,18 @@ let myEmacs = pkgs.emacs-nox; emacsWithPackages = (pkgs.emacsPackagesGen myEmacs).emacsWithPackages; in - emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [ - magit - solarized-theme - evil - ]) - ++ (with epkgs.melpaPackages; [ - xterm-color - nix-mode - ]) - ++ (with epkgs.elpaPackages; [ - beacon # ; highlight my cursor when scrolling - nameless # ; hide current package name everywhere in elisp code - ]) ++ [ - pkgs.notmuch # From main packages set - ]) +emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [ + magit + solarized-theme + evil +]) +++ (with epkgs.melpaPackages; [ + xterm-color + nix-mode +]) +++ (with epkgs.elpaPackages; [ + beacon # ; highlight my cursor when scrolling + nameless # ; hide current package name everywhere in elisp code +]) ++ [ + pkgs.notmuch # From main packages set +]) diff --git a/nixos/home-manager/programs/genpass.nix b/nixos/home-manager/programs/genpass.nix index be8e5d40..258bf955 100644 --- a/nixos/home-manager/programs/genpass.nix +++ b/nixos/home-manager/programs/genpass.nix @@ -1,4 +1,4 @@ -{ pkgs ? import {} }: +{ pkgs ? import { } }: with pkgs; rustPlatform.buildRustPackage rec { pname = "genpass"; @@ -14,7 +14,9 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "1p6l64s9smhwka8bh3pamqimamxziad859i62nrmxzqc49nq5s7m"; buildInputs = [ - openssl pkgconfig git + openssl + pkgconfig + git ]; meta = with stdenv.lib; { diff --git a/nixos/home-manager/programs/kitty.nix b/nixos/home-manager/programs/kitty.nix index 11305930..20395221 100644 --- a/nixos/home-manager/programs/kitty.nix +++ b/nixos/home-manager/programs/kitty.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { home.sessionVariables = { - TERMINAL="kitty"; + TERMINAL = "kitty"; }; programs.kitty = { @@ -10,26 +10,26 @@ enable_audio_bell = false; font_size = "16.0"; - font_family = "FiraCode Nerd Font"; - bold_font = "auto"; - italic_font = "auto"; + font_family = "FiraCode Nerd Font"; + bold_font = "auto"; + italic_font = "auto"; bold_italic_font = "auto"; background = "#001e26"; foreground = "#708183"; - selection_foreground ="#93a1a1"; + selection_foreground = "#93a1a1"; selection_background = "#002b36"; cursor = "#708183"; - color0 = "#002731"; - color1 = "#d01b24"; - color2 = "#728905"; - color3 = "#a57705"; - color4 = "#2075c7"; - color5 = "#c61b6e"; - color6 = "#259185"; - color7 = "#e9e2cb"; - color8 = "#001e26"; - color9 = "#bd3612"; + color0 = "#002731"; + color1 = "#d01b24"; + color2 = "#728905"; + color3 = "#a57705"; + color4 = "#2075c7"; + color5 = "#c61b6e"; + color6 = "#259185"; + color7 = "#e9e2cb"; + color8 = "#001e26"; + color9 = "#bd3612"; color10 = "#465a61"; color11 = "#52676f"; color12 = "#708183"; diff --git a/nixos/home-manager/programs/newsboat.nix b/nixos/home-manager/programs/newsboat.nix index 46e101a8..77aace34 100644 --- a/nixos/home-manager/programs/newsboat.nix +++ b/nixos/home-manager/programs/newsboat.nix @@ -17,288 +17,288 @@ color article default default ''; urls = [ - { url ="https://acoup.blog/feed/"; } - { url ="https://blog.benjojo.co.uk/rss.xml"; } - { url ="https://electronicsdeli.net/feed/"; } - { url ="https://michael.stapelberg.ch/feed.xml"; } - { url ="https://blog.nelhage.com/atom.xml"; } - { url ="https://deninet.com/rss.xml"; } - { url ="https://berthub.eu/articles/index.xml"; } - { url ="https://ciko.io/index.xml"; } - { url ="https://blog.thea.codes/feed.xml"; } - { url ="https://ambrevar.xyz/atom.xml"; } - { url ="https://openprivacy.ca/feed/discreet-log.xml"; } - { url ="https://shealevy.com/blog/index.xml"; } - { url ="https://oxide.computer/blog/index.xml"; } - { url ="https://alecmuffett.com/article/tag/essay/feed"; } - { url ="https://osarch.org/feed/"; } - { url ="https://fosdem.org/2021/atom.xml"; } - { url ="https://tailscale.com/blog/index.xml"; } - { url ="https://nrdxp.dev/feed.xml"; } - { url ="https://initialcommit.com/blog/rss.xml"; } - { url ="https://ww.telent.net/news.rss"; } - { url ="https://guix.gnu.org/feeds/blog.atom"; } - { url ="https://blog.servo.org/feed.xml"; } - { url ="https://www.radicalroutes.org.uk/?format=feed&type=atom"; } - { url ="https://matklad.github.io/feed.xml"; } - { url ="https://sfconservancy.org/feeds/blog/"; } - { url ="https://sourcehut.org/blog/index.xml"; } - { url ="https://openwrt.org/feed.php?type=rss&mode=list&sort=date&ns=advisory&linkto=current&content=html"; } - { url ="https://nora.codes/index.xml"; } - { url ="http://hackedfrompieces.wordpress.com/feed/"; } - { url ="http://notonlyzeroesandones.site40.net/feed/"; } - { url ="https://tonyarcieri.com/feed"; } - { url ="https://www.destroyallsoftware.com/screencasts/feed"; } - { url ="https://blog.liftsecurity.io/rss"; } - { url ="http://mightyohm.com/blog/feed/"; } - { url ="http://feeds.falkvinge.net/Falkvinge-on-Infopolicy"; } - { url ="http://www.veronicabelmont.com/feed/"; } - { url ="https://perplexinglyemma.blogspot.com/feeds/posts/default"; } - { url ="http://www.davecooper.org/blog/feed/"; } - { url ="http://hackaweek.com/hacks/?feed=rss2"; } - { url ="https://www.hadean.com/blog/rss.xml"; } - { url ="http://feeds.feedburner.com/malukah"; } - { url ="http://jonasdn.blogspot.com/feeds/posts/default"; } - { url ="https://www.destroyallsoftware.com/blog/index.xml"; } - { url ="http://metajack.im/"; } - { url ="https://haskell-at-work.com/feed.xml"; } - { url ="http://temporal.pr0.pl/devblog/feed/"; } - { url ="https://superevr.com/blog/feed/"; } - { url ="http://thejoysofcode.com/rss"; } - { url ="http://www.rsspect.com/rss/threeps.xml"; } - { url ="http://brianzawesomeblog.blogspot.com/feeds/posts/default"; } - { url ="http://ssj3gohan.tweakblogs.net/feed/"; } - { url ="http://planet.mozilla.org/releng/atom.xml"; } - { url ="https://grahamc.com/feed/"; } - { url ="http://www.h-online.com/grand-atom.xml"; } - { url ="https://jneem.github.io/feed.xml"; } - { url ="http://blog.opensourceecology.org/feed/"; } - { url ="http://pepijndevos.nl/atom.xml"; } - { url ="https://wedistribute.org/feed/"; } - { url ="http://www.wattnotions.com/feed/"; } - { url ="https://blondihacks.com/feed/"; } - { url ="http://ghcarm.wordpress.com/feed/"; } - { url ="http://blog.tkjelectronics.dk/feed/"; } - { url ="https://www.circuitlab.com/blog/feed/"; } - { url ="http://danluu.com/atom.xml"; } - { url ="http://silverwingedseraph.net/feed"; } - { url ="http://takbardzozle.blogspot.com/feeds/posts/default"; } - { url ="https://weekly.nixos.org/feeds/all.rss.xml"; } - { url ="http://www.hscott.net/feed/"; } - { url ="http://feeds.feedburner.com/kernelmag?format=xml"; } - { url ="http://www.malwaretech.com/feeds/posts/default"; } - { url ="https://nixos.org/blogs.xml"; } - { url ="http://spaceismore.com/feed/"; } - { url ="https://blog.cyplo.dev/index.xml"; } - { url ="https://blog.kobol.io/feed.xml"; } - { url ="http://blog.ffwll.ch/feeds/posts/default"; } - { url ="http://blog.pnkfx.org/atom.xml"; } - { url ="http://metaltronics.wordpress.com/feed/"; } - { url ="http://ncrmnt.org/wp/feed/"; } - { url ="http://www.arachnidlabs.com/atom.xml"; } - { url ="http://blogs.valvesoftware.com/feed/"; } - { url ="http://billmccloskey.wordpress.com/feed/"; } - { url ="http://sparkleshare.org/feed/"; } - { url ="http://osprintingllc.com/feed/"; } - { url ="https://forum.openwrt.org/extern.php?action=feed&fid=11&type=rss"; } - { url ="http://corgibytes.com/feed.xml"; } - { url ="http://chatolandia.pl/feed/"; } - { url ="http://niczsoft.com/feed/"; } - { url ="http://blog.macrofab.net/feed/"; } - { url ="http://hackaday.com/feed/"; } - { url ="https://blog.uncensoreddns.org/feeds/atom/all/"; } - { url ="http://www.paulallenengineering.com/1/feed"; } - { url ="http://komornik.wroclaw.pl/index.php?option=com_rss&feed=RSS2.0&no_html=1"; } - { url ="https://rachelbythebay.com/w/atom.xml"; } - { url ="http://sliptonic.com/feed/"; } - { url ="http://blog.unsecu.re/feeds/posts/default"; } - { url ="http://neverworkintheory.org/feed.xml"; } - { url ="http://kocikocizabci.blogspot.com/feeds/posts/default"; } - { url ="https://blog.christophersmart.com/feed/"; } - { url ="http://sarah.thesharps.us/feed/"; } - { url ="http://explique.me/feed.xml"; } - { url ="http://www.arcfn.com/feeds/posts/default"; } - { url ="http://sunrider-vn.com/feed/"; } - { url ="http://www.wrocnet.org/syndication.axd"; } - { url ="http://www.goldsborough.me/feed.xml"; } - { url ="http://blog.tilaa.nl/feeds/posts/default"; } - { url ="http://latkin.org/blog/index.xml"; } - { url ="https://ind.ie/blog/rss/index.xml"; } - { url ="http://spritesmods.com/rss.php"; } - { url ="http://codeascraft.etsy.com/feed/"; } - { url ="http://chrisgammell.com/feed/"; } - { url ="https://www.stellar.org/feed/"; } - { url ="http://shenzhentrip.blogspot.com/feeds/posts/default"; } - { url ="https://aphyr.com/posts.atom"; } - { url ="http://www.latentlaboratories.com/blog?format=RSS"; } - { url ="http://zentasrobots.com/feed/"; } - { url ="http://grugq.github.io/atom.xml"; } - { url ="http://gusclass.com/blog/feed/"; } - { url ="http://www.devttys0.com/feed/"; } - { url ="https://www.ruma.io/news/feed.atom"; } - { url ="http://runawaybrainz.blogspot.com/feeds/posts/default"; } - { url ="http://blog.ploeh.dk/rss.xml"; } - { url ="http://lab.whitequark.org/atom.xml"; } - { url ="http://rroarr.blog.pl/index.rss"; } - { url ="http://slic3r.org/rss"; } - { url ="http://feeds.feedburner.com/EmbeddedInAcademia"; } - { url ="http://mightydevices.com/?feed=rss2"; } - { url ="http://www.cppwroclaw.pl/dokuwiki/feed.php"; } - { url ="http://pagekite.net/Blog?rss=1"; } - { url ="http://iradan.com/?feed=rss2"; } - { url ="http://tirania.org/blog/miguel.rss2"; } - { url ="http://the-missing-link-of-agile.com/feed/"; } - { url ="http://www.kroah.com/log/index.rss"; } - { url ="http://ebldc.com/?feed=rss2"; } - { url ="http://codegangsta.io/atom.xml"; } - { url ="http://intorust.com/feed.xml"; } - { url ="http://carol-nichols.com/feed.xml"; } - { url ="http://blogs.msdn.com/b/ericlippert/atom.aspx"; } - { url ="http://kroah.com/log/index.rss"; } - { url ="http://quinndunki.com/blondihacks/?feed=rss2"; } - { url ="http://gerrysweeney.com/feed/"; } - { url ="http://cybergibbons.com/feed/"; } - { url ="https://freedom-to-tinker.com/feed/"; } - { url ="http://sealedabstract.com/feed/"; } - { url ="http://hermanradtke.com/atom.xml"; } - { url ="http://feeds.feedburner.com/plainlystated/xtwL?format=xml"; } - { url ="http://www.mdswanson.com/atom.xml"; } - { url ="http://feeds.feedburner.com/thegrue"; } - { url ="https://gergely.imreh.net/blog/feed/"; } - { url ="http://www.sigrok.org/blog/rss.xml"; } - { url ="https://thesquareplanet.com/feed.xml"; } - { url ="http://feedpress.me/inessential"; } - { url ="http://wheningit.tumblr.com/rss"; } - { url ="http://b.truzzi.me/?feed=rss2"; } - { url ="https://blog.conformal.com/feed/"; } - { url ="http://windytan.blogspot.com/feeds/posts/default"; } - { url ="http://www.logicalelegance.com/journey/feed/"; } - { url ="https://www.adafruit.com/blog/feed/"; } - { url ="https://electronichamsters.wordpress.com/feed/"; } - { url ="http://security.goatse.fr/feed"; } - { url ="http://panoptykon.org/rss.xml"; } - { url ="http://blog.piston.rs/atom.xml"; } - { url ="http://tenderlovemaking.com/atom.xml"; } - { url ="http://www.wired.com/threatlevel/feed/"; } - { url ="http://onethingwell.org/rss"; } - { url ="http://serialized.net/rss.xml"; } - { url ="http://aosabook.org/blog/feeds/all.atom.xml"; } - { url ="http://www.alicegrove.com/rss"; } - { url ="http://www.konradokonski.com/KWD/feed/"; } - { url ="http://way-cooler.org/feed.xml"; } - { url ="http://antygea.blogspot.com/feeds/posts/default"; } - { url ="http://blog.gameagent.com/feed/"; } - { url ="http://llogiq.github.io/feed.xml"; } - { url ="http://lambda-the-ultimate.org/rss.xml"; } - { url ="https://soldernerd.com/feed/"; } - { url ="http://www.0xrage.com/?feed=rss2"; } - { url ="http://www.bitscope.com/blog/feed.xml"; } - { url ="http://theprofoundprogrammer.com/rss"; } - { url ="http://essentialscrap.com/rss.xml"; } - { url ="http://handmade.hackaday.com/feed/"; } - { url ="http://events.ccc.de/feed/"; } - { url ="http://www.estechnical.co.uk/blog/latest?format=feed&type=rss"; } - { url ="http://perso.aquilenet.fr/~sven337/feeds/feed_english.xml"; } - { url ="http://blog.trailofbits.com/feed/"; } - { url ="https://michaelwoerister.github.io/feed.xml"; } - { url ="http://nitschinger.at//index.xml"; } - { url ="http://lambdaops.com/feed"; } - { url ="http://simon-says-architecture.com/feed/"; } - { url ="https://sha2017.org/rss.xml"; } - { url ="http://www.davidhunt.ie/feed/"; } - { url ="https://begriffs.com/atom.xml"; } - { url ="http://dankaminsky.com/feed/"; } - { url ="http://www.analogzoo.com/feed/"; } - { url ="http://blog.makezine.com/feed/"; } - { url ="http://wot.lv/feeds/all.atom.xml"; } - { url ="http://www.bunniestudios.com/blog/?feed=rss2"; } - { url ="http://lukelectro.wordpress.com/feed/"; } - { url ="http://buffered.io/index.xml"; } - { url ="http://www.yesodweb.com/feed"; } - { url ="http://lcamtuf.blogspot.com/feeds/posts/default"; } - { url ="http://feeds.feedburner.com/schneier/fulltext"; } - { url ="https://simplysecure.org/feed.xml"; } - { url ="http://maryrosecook.com/blog/feed"; } - { url ="https://nathanleclaire.com/index.xml"; } - { url ="http://downingsbasement.com/feed/"; } - { url ="http://www.pxdojo.net/feeds/posts/default"; } - { url ="http://fulmicoton.com/atom.xml"; } - { url ="http://rys.io/en/rss"; } - { url ="https://rust-embedded.github.io/blog/rss.xml"; } - { url ="https://pointersgonewild.com/feed/"; } - { url ="http://blog.cryptographyengineering.com/feeds/posts/default"; } - { url ="http://www.hardhack.org/feed/"; } - { url ="http://blog.system76.com/rss"; } - { url ="https://www.mailpile.is/blog/index.rss"; } - { url ="https://blog.rustfest.eu/feed.xml"; } - { url ="https://spideroak.com/blog/feed"; } - { url ="http://nullr0ute.com/feed/"; } - { url ="http://xion.io/feeds/atom.xml"; } - { url ="http://blog.mozilla.org/nfroyd/feed/"; } - { url ="http://anniemachon.ch/feed"; } - { url ="http://befinitiv.wordpress.com/feed/"; } - { url ="http://www.2600.com/rss.xml"; } - { url ="http://www.planet-rust.com/atom.xml"; } - { url ="http://www.elidedbranches.com/feeds/posts/default"; } - { url ="http://www.eevblog.com/feed/"; } - { url ="http://www.questionablecontent.net/QCRSS.xml"; } - { url ="http://davidegironi.blogspot.com/feeds/posts/default"; } - { url ="http://intorust.com/blog/feed.xml"; } - { url ="http://londyn.msz.gov.pl/rss/ambasadalondynaktualnosci.xml450"; } - { url ="http://www.thegamercat.com/feed/"; } - { url ="http://feeds.feedburner.com/gadgetfactory/zjHC"; } - { url ="http://embedderslife.wordpress.com/feed/"; } - { url ="http://blog.ctf365.com/feed/"; } - { url ="http://owncloud.org/news/feed/"; } - { url ="http://jreeblog.wordpress.com/feed/"; } - { url ="http://www.wildcircuits.com/feeds/posts/default"; } - { url ="http://www.raspberrypi.org/feed"; } - { url ="https://apollo.open-resource.org/mission:log:feed"; } - { url ="http://bikerglen.com/blog/feed/"; } - { url ="http://www.crypto.com/blog/rss20.xml"; } - { url ="https://www.platymuus.com/feed.xml"; } - { url ="http://oneweekwonder.blogspot.com/feeds/posts/default"; } - { url ="https://blog.mozilla.org/thunderbird/feed/"; } - { url ="https://blog.mozilla.org/research/feed/"; } - { url ="http://thesignalpath.com/blogs/feed/"; } - { url ="http://www.daemonology.net/blog/index.rss"; } - { url ="http://dangerousprototypes.com/feed/"; } - { url ="https://www.trueos.org/feed/"; } - { url ="http://nautil.us/rss/all"; } - { url ="http://blog.computationalcomplexity.org/feeds/posts/default"; } - { url ="http://blog.humblebundle.com/rss"; } - { url ="https://copperhead.co/feed.xml"; } - { url ="http://blog.xamarin.com/feed/"; } - { url ="http://coreos.com/atom.xml"; } - { url ="http://lowpowerlab.com/feed/"; } - { url ="http://feeds.feedburner.com/TheBitBangTheory_en?format=xml"; } - { url ="http://feeds.feedburner.com/TheLifeOfKenneth"; } - { url ="http://feeds.feedburner.com/zotero/"; } - { url ="http://corporat.blox.pl/rss2"; } - { url ="http://www.willowgarage.com/news/feed"; } - { url ="https://stripe.com/blog/feed.rss"; } - { url ="http://nakedsecurity.sophos.com/feed/"; } - { url ="https://www.braintreepayments.com/rss"; } - { url ="http://edri.org/feed/"; } - { url ="https://ruudvanasseldonk.com/feed.xml"; } - { url ="http://www.lowrisc.org//index.xml"; } - { url ="http://feeds.feedburner.com/Phoronix"; } - { url ="http://jvns.ca/atom.xml"; } - { url ="http://feeds.feedburner.com/steveklabnik/words"; } - { url ="https://blog.torproject.org/blog/feed"; } - { url ="http://this-week-in-rust.org/atom.xml"; } - { url ="http://opensource.com/feed"; } - { url ="http://blog.elementary.io/rss"; } - { url ="https://www.insinuator.net/feed/"; } - { url ="https://www.mapbox.com/blog/blog.rss"; } - { url ="http://www.harmj0y.net/blog/feed/"; } - { url ="http://codurance.com/atom.xml"; } - { url ="https://blog.makersacademy.com/feed"; } - { url ="https://sensepost.com/rss.xml"; } - { url ="https://www.evilsocket.net/atom.xml"; } - { url ="https://krebsonsecurity.com/feed/"; } - { url ="https://tisiphone.net/feed/"; } - { url ="https://blog.bastion.rs/feed.xml"; } + { url = "https://acoup.blog/feed/"; } + { url = "https://blog.benjojo.co.uk/rss.xml"; } + { url = "https://electronicsdeli.net/feed/"; } + { url = "https://michael.stapelberg.ch/feed.xml"; } + { url = "https://blog.nelhage.com/atom.xml"; } + { url = "https://deninet.com/rss.xml"; } + { url = "https://berthub.eu/articles/index.xml"; } + { url = "https://ciko.io/index.xml"; } + { url = "https://blog.thea.codes/feed.xml"; } + { url = "https://ambrevar.xyz/atom.xml"; } + { url = "https://openprivacy.ca/feed/discreet-log.xml"; } + { url = "https://shealevy.com/blog/index.xml"; } + { url = "https://oxide.computer/blog/index.xml"; } + { url = "https://alecmuffett.com/article/tag/essay/feed"; } + { url = "https://osarch.org/feed/"; } + { url = "https://fosdem.org/2021/atom.xml"; } + { url = "https://tailscale.com/blog/index.xml"; } + { url = "https://nrdxp.dev/feed.xml"; } + { url = "https://initialcommit.com/blog/rss.xml"; } + { url = "https://ww.telent.net/news.rss"; } + { url = "https://guix.gnu.org/feeds/blog.atom"; } + { url = "https://blog.servo.org/feed.xml"; } + { url = "https://www.radicalroutes.org.uk/?format=feed&type=atom"; } + { url = "https://matklad.github.io/feed.xml"; } + { url = "https://sfconservancy.org/feeds/blog/"; } + { url = "https://sourcehut.org/blog/index.xml"; } + { url = "https://openwrt.org/feed.php?type=rss&mode=list&sort=date&ns=advisory&linkto=current&content=html"; } + { url = "https://nora.codes/index.xml"; } + { url = "http://hackedfrompieces.wordpress.com/feed/"; } + { url = "http://notonlyzeroesandones.site40.net/feed/"; } + { url = "https://tonyarcieri.com/feed"; } + { url = "https://www.destroyallsoftware.com/screencasts/feed"; } + { url = "https://blog.liftsecurity.io/rss"; } + { url = "http://mightyohm.com/blog/feed/"; } + { url = "http://feeds.falkvinge.net/Falkvinge-on-Infopolicy"; } + { url = "http://www.veronicabelmont.com/feed/"; } + { url = "https://perplexinglyemma.blogspot.com/feeds/posts/default"; } + { url = "http://www.davecooper.org/blog/feed/"; } + { url = "http://hackaweek.com/hacks/?feed=rss2"; } + { url = "https://www.hadean.com/blog/rss.xml"; } + { url = "http://feeds.feedburner.com/malukah"; } + { url = "http://jonasdn.blogspot.com/feeds/posts/default"; } + { url = "https://www.destroyallsoftware.com/blog/index.xml"; } + { url = "http://metajack.im/"; } + { url = "https://haskell-at-work.com/feed.xml"; } + { url = "http://temporal.pr0.pl/devblog/feed/"; } + { url = "https://superevr.com/blog/feed/"; } + { url = "http://thejoysofcode.com/rss"; } + { url = "http://www.rsspect.com/rss/threeps.xml"; } + { url = "http://brianzawesomeblog.blogspot.com/feeds/posts/default"; } + { url = "http://ssj3gohan.tweakblogs.net/feed/"; } + { url = "http://planet.mozilla.org/releng/atom.xml"; } + { url = "https://grahamc.com/feed/"; } + { url = "http://www.h-online.com/grand-atom.xml"; } + { url = "https://jneem.github.io/feed.xml"; } + { url = "http://blog.opensourceecology.org/feed/"; } + { url = "http://pepijndevos.nl/atom.xml"; } + { url = "https://wedistribute.org/feed/"; } + { url = "http://www.wattnotions.com/feed/"; } + { url = "https://blondihacks.com/feed/"; } + { url = "http://ghcarm.wordpress.com/feed/"; } + { url = "http://blog.tkjelectronics.dk/feed/"; } + { url = "https://www.circuitlab.com/blog/feed/"; } + { url = "http://danluu.com/atom.xml"; } + { url = "http://silverwingedseraph.net/feed"; } + { url = "http://takbardzozle.blogspot.com/feeds/posts/default"; } + { url = "https://weekly.nixos.org/feeds/all.rss.xml"; } + { url = "http://www.hscott.net/feed/"; } + { url = "http://feeds.feedburner.com/kernelmag?format=xml"; } + { url = "http://www.malwaretech.com/feeds/posts/default"; } + { url = "https://nixos.org/blogs.xml"; } + { url = "http://spaceismore.com/feed/"; } + { url = "https://blog.cyplo.dev/index.xml"; } + { url = "https://blog.kobol.io/feed.xml"; } + { url = "http://blog.ffwll.ch/feeds/posts/default"; } + { url = "http://blog.pnkfx.org/atom.xml"; } + { url = "http://metaltronics.wordpress.com/feed/"; } + { url = "http://ncrmnt.org/wp/feed/"; } + { url = "http://www.arachnidlabs.com/atom.xml"; } + { url = "http://blogs.valvesoftware.com/feed/"; } + { url = "http://billmccloskey.wordpress.com/feed/"; } + { url = "http://sparkleshare.org/feed/"; } + { url = "http://osprintingllc.com/feed/"; } + { url = "https://forum.openwrt.org/extern.php?action=feed&fid=11&type=rss"; } + { url = "http://corgibytes.com/feed.xml"; } + { url = "http://chatolandia.pl/feed/"; } + { url = "http://niczsoft.com/feed/"; } + { url = "http://blog.macrofab.net/feed/"; } + { url = "http://hackaday.com/feed/"; } + { url = "https://blog.uncensoreddns.org/feeds/atom/all/"; } + { url = "http://www.paulallenengineering.com/1/feed"; } + { url = "http://komornik.wroclaw.pl/index.php?option=com_rss&feed=RSS2.0&no_html=1"; } + { url = "https://rachelbythebay.com/w/atom.xml"; } + { url = "http://sliptonic.com/feed/"; } + { url = "http://blog.unsecu.re/feeds/posts/default"; } + { url = "http://neverworkintheory.org/feed.xml"; } + { url = "http://kocikocizabci.blogspot.com/feeds/posts/default"; } + { url = "https://blog.christophersmart.com/feed/"; } + { url = "http://sarah.thesharps.us/feed/"; } + { url = "http://explique.me/feed.xml"; } + { url = "http://www.arcfn.com/feeds/posts/default"; } + { url = "http://sunrider-vn.com/feed/"; } + { url = "http://www.wrocnet.org/syndication.axd"; } + { url = "http://www.goldsborough.me/feed.xml"; } + { url = "http://blog.tilaa.nl/feeds/posts/default"; } + { url = "http://latkin.org/blog/index.xml"; } + { url = "https://ind.ie/blog/rss/index.xml"; } + { url = "http://spritesmods.com/rss.php"; } + { url = "http://codeascraft.etsy.com/feed/"; } + { url = "http://chrisgammell.com/feed/"; } + { url = "https://www.stellar.org/feed/"; } + { url = "http://shenzhentrip.blogspot.com/feeds/posts/default"; } + { url = "https://aphyr.com/posts.atom"; } + { url = "http://www.latentlaboratories.com/blog?format=RSS"; } + { url = "http://zentasrobots.com/feed/"; } + { url = "http://grugq.github.io/atom.xml"; } + { url = "http://gusclass.com/blog/feed/"; } + { url = "http://www.devttys0.com/feed/"; } + { url = "https://www.ruma.io/news/feed.atom"; } + { url = "http://runawaybrainz.blogspot.com/feeds/posts/default"; } + { url = "http://blog.ploeh.dk/rss.xml"; } + { url = "http://lab.whitequark.org/atom.xml"; } + { url = "http://rroarr.blog.pl/index.rss"; } + { url = "http://slic3r.org/rss"; } + { url = "http://feeds.feedburner.com/EmbeddedInAcademia"; } + { url = "http://mightydevices.com/?feed=rss2"; } + { url = "http://www.cppwroclaw.pl/dokuwiki/feed.php"; } + { url = "http://pagekite.net/Blog?rss=1"; } + { url = "http://iradan.com/?feed=rss2"; } + { url = "http://tirania.org/blog/miguel.rss2"; } + { url = "http://the-missing-link-of-agile.com/feed/"; } + { url = "http://www.kroah.com/log/index.rss"; } + { url = "http://ebldc.com/?feed=rss2"; } + { url = "http://codegangsta.io/atom.xml"; } + { url = "http://intorust.com/feed.xml"; } + { url = "http://carol-nichols.com/feed.xml"; } + { url = "http://blogs.msdn.com/b/ericlippert/atom.aspx"; } + { url = "http://kroah.com/log/index.rss"; } + { url = "http://quinndunki.com/blondihacks/?feed=rss2"; } + { url = "http://gerrysweeney.com/feed/"; } + { url = "http://cybergibbons.com/feed/"; } + { url = "https://freedom-to-tinker.com/feed/"; } + { url = "http://sealedabstract.com/feed/"; } + { url = "http://hermanradtke.com/atom.xml"; } + { url = "http://feeds.feedburner.com/plainlystated/xtwL?format=xml"; } + { url = "http://www.mdswanson.com/atom.xml"; } + { url = "http://feeds.feedburner.com/thegrue"; } + { url = "https://gergely.imreh.net/blog/feed/"; } + { url = "http://www.sigrok.org/blog/rss.xml"; } + { url = "https://thesquareplanet.com/feed.xml"; } + { url = "http://feedpress.me/inessential"; } + { url = "http://wheningit.tumblr.com/rss"; } + { url = "http://b.truzzi.me/?feed=rss2"; } + { url = "https://blog.conformal.com/feed/"; } + { url = "http://windytan.blogspot.com/feeds/posts/default"; } + { url = "http://www.logicalelegance.com/journey/feed/"; } + { url = "https://www.adafruit.com/blog/feed/"; } + { url = "https://electronichamsters.wordpress.com/feed/"; } + { url = "http://security.goatse.fr/feed"; } + { url = "http://panoptykon.org/rss.xml"; } + { url = "http://blog.piston.rs/atom.xml"; } + { url = "http://tenderlovemaking.com/atom.xml"; } + { url = "http://www.wired.com/threatlevel/feed/"; } + { url = "http://onethingwell.org/rss"; } + { url = "http://serialized.net/rss.xml"; } + { url = "http://aosabook.org/blog/feeds/all.atom.xml"; } + { url = "http://www.alicegrove.com/rss"; } + { url = "http://www.konradokonski.com/KWD/feed/"; } + { url = "http://way-cooler.org/feed.xml"; } + { url = "http://antygea.blogspot.com/feeds/posts/default"; } + { url = "http://blog.gameagent.com/feed/"; } + { url = "http://llogiq.github.io/feed.xml"; } + { url = "http://lambda-the-ultimate.org/rss.xml"; } + { url = "https://soldernerd.com/feed/"; } + { url = "http://www.0xrage.com/?feed=rss2"; } + { url = "http://www.bitscope.com/blog/feed.xml"; } + { url = "http://theprofoundprogrammer.com/rss"; } + { url = "http://essentialscrap.com/rss.xml"; } + { url = "http://handmade.hackaday.com/feed/"; } + { url = "http://events.ccc.de/feed/"; } + { url = "http://www.estechnical.co.uk/blog/latest?format=feed&type=rss"; } + { url = "http://perso.aquilenet.fr/~sven337/feeds/feed_english.xml"; } + { url = "http://blog.trailofbits.com/feed/"; } + { url = "https://michaelwoerister.github.io/feed.xml"; } + { url = "http://nitschinger.at//index.xml"; } + { url = "http://lambdaops.com/feed"; } + { url = "http://simon-says-architecture.com/feed/"; } + { url = "https://sha2017.org/rss.xml"; } + { url = "http://www.davidhunt.ie/feed/"; } + { url = "https://begriffs.com/atom.xml"; } + { url = "http://dankaminsky.com/feed/"; } + { url = "http://www.analogzoo.com/feed/"; } + { url = "http://blog.makezine.com/feed/"; } + { url = "http://wot.lv/feeds/all.atom.xml"; } + { url = "http://www.bunniestudios.com/blog/?feed=rss2"; } + { url = "http://lukelectro.wordpress.com/feed/"; } + { url = "http://buffered.io/index.xml"; } + { url = "http://www.yesodweb.com/feed"; } + { url = "http://lcamtuf.blogspot.com/feeds/posts/default"; } + { url = "http://feeds.feedburner.com/schneier/fulltext"; } + { url = "https://simplysecure.org/feed.xml"; } + { url = "http://maryrosecook.com/blog/feed"; } + { url = "https://nathanleclaire.com/index.xml"; } + { url = "http://downingsbasement.com/feed/"; } + { url = "http://www.pxdojo.net/feeds/posts/default"; } + { url = "http://fulmicoton.com/atom.xml"; } + { url = "http://rys.io/en/rss"; } + { url = "https://rust-embedded.github.io/blog/rss.xml"; } + { url = "https://pointersgonewild.com/feed/"; } + { url = "http://blog.cryptographyengineering.com/feeds/posts/default"; } + { url = "http://www.hardhack.org/feed/"; } + { url = "http://blog.system76.com/rss"; } + { url = "https://www.mailpile.is/blog/index.rss"; } + { url = "https://blog.rustfest.eu/feed.xml"; } + { url = "https://spideroak.com/blog/feed"; } + { url = "http://nullr0ute.com/feed/"; } + { url = "http://xion.io/feeds/atom.xml"; } + { url = "http://blog.mozilla.org/nfroyd/feed/"; } + { url = "http://anniemachon.ch/feed"; } + { url = "http://befinitiv.wordpress.com/feed/"; } + { url = "http://www.2600.com/rss.xml"; } + { url = "http://www.planet-rust.com/atom.xml"; } + { url = "http://www.elidedbranches.com/feeds/posts/default"; } + { url = "http://www.eevblog.com/feed/"; } + { url = "http://www.questionablecontent.net/QCRSS.xml"; } + { url = "http://davidegironi.blogspot.com/feeds/posts/default"; } + { url = "http://intorust.com/blog/feed.xml"; } + { url = "http://londyn.msz.gov.pl/rss/ambasadalondynaktualnosci.xml450"; } + { url = "http://www.thegamercat.com/feed/"; } + { url = "http://feeds.feedburner.com/gadgetfactory/zjHC"; } + { url = "http://embedderslife.wordpress.com/feed/"; } + { url = "http://blog.ctf365.com/feed/"; } + { url = "http://owncloud.org/news/feed/"; } + { url = "http://jreeblog.wordpress.com/feed/"; } + { url = "http://www.wildcircuits.com/feeds/posts/default"; } + { url = "http://www.raspberrypi.org/feed"; } + { url = "https://apollo.open-resource.org/mission:log:feed"; } + { url = "http://bikerglen.com/blog/feed/"; } + { url = "http://www.crypto.com/blog/rss20.xml"; } + { url = "https://www.platymuus.com/feed.xml"; } + { url = "http://oneweekwonder.blogspot.com/feeds/posts/default"; } + { url = "https://blog.mozilla.org/thunderbird/feed/"; } + { url = "https://blog.mozilla.org/research/feed/"; } + { url = "http://thesignalpath.com/blogs/feed/"; } + { url = "http://www.daemonology.net/blog/index.rss"; } + { url = "http://dangerousprototypes.com/feed/"; } + { url = "https://www.trueos.org/feed/"; } + { url = "http://nautil.us/rss/all"; } + { url = "http://blog.computationalcomplexity.org/feeds/posts/default"; } + { url = "http://blog.humblebundle.com/rss"; } + { url = "https://copperhead.co/feed.xml"; } + { url = "http://blog.xamarin.com/feed/"; } + { url = "http://coreos.com/atom.xml"; } + { url = "http://lowpowerlab.com/feed/"; } + { url = "http://feeds.feedburner.com/TheBitBangTheory_en?format=xml"; } + { url = "http://feeds.feedburner.com/TheLifeOfKenneth"; } + { url = "http://feeds.feedburner.com/zotero/"; } + { url = "http://corporat.blox.pl/rss2"; } + { url = "http://www.willowgarage.com/news/feed"; } + { url = "https://stripe.com/blog/feed.rss"; } + { url = "http://nakedsecurity.sophos.com/feed/"; } + { url = "https://www.braintreepayments.com/rss"; } + { url = "http://edri.org/feed/"; } + { url = "https://ruudvanasseldonk.com/feed.xml"; } + { url = "http://www.lowrisc.org//index.xml"; } + { url = "http://feeds.feedburner.com/Phoronix"; } + { url = "http://jvns.ca/atom.xml"; } + { url = "http://feeds.feedburner.com/steveklabnik/words"; } + { url = "https://blog.torproject.org/blog/feed"; } + { url = "http://this-week-in-rust.org/atom.xml"; } + { url = "http://opensource.com/feed"; } + { url = "http://blog.elementary.io/rss"; } + { url = "https://www.insinuator.net/feed/"; } + { url = "https://www.mapbox.com/blog/blog.rss"; } + { url = "http://www.harmj0y.net/blog/feed/"; } + { url = "http://codurance.com/atom.xml"; } + { url = "https://blog.makersacademy.com/feed"; } + { url = "https://sensepost.com/rss.xml"; } + { url = "https://www.evilsocket.net/atom.xml"; } + { url = "https://krebsonsecurity.com/feed/"; } + { url = "https://tisiphone.net/feed/"; } + { url = "https://blog.bastion.rs/feed.xml"; } ]; }; } diff --git a/nixos/home-manager/programs/termite.nix b/nixos/home-manager/programs/termite.nix index 3a567153..b35f467a 100644 --- a/nixos/home-manager/programs/termite.nix +++ b/nixos/home-manager/programs/termite.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { home.sessionVariables = { - TERMINAL="termite"; + TERMINAL = "termite"; }; programs.termite = { enable = true; diff --git a/nixos/home-manager/programs/tmux.nix b/nixos/home-manager/programs/tmux.nix index d27cbc8e..51134add 100644 --- a/nixos/home-manager/programs/tmux.nix +++ b/nixos/home-manager/programs/tmux.nix @@ -4,8 +4,8 @@ enable = true; shortcut = "a"; extraConfig = '' - set -g status off - set -g mouse on + set -g status off + set -g mouse on ''; }; } diff --git a/nixos/home-manager/programs/vim.nix b/nixos/home-manager/programs/vim.nix index cbe20536..cb89d310 100644 --- a/nixos/home-manager/programs/vim.nix +++ b/nixos/home-manager/programs/vim.nix @@ -2,52 +2,52 @@ let unstable = inputs.nixpkgs-nixos-unstable.legacyPackages.${pkgs.system}; in - { - home.file.".vimrc".source = ../../../.vimrc.nixos; - home.packages = with pkgs; [ - ripgrep - ]; - programs.neovim = { - enable = true; - viAlias = true; - vimAlias = true; - vimdiffAlias = true; - withNodeJs = true; - withPython3 = true; - withRuby = true; - package = unstable.neovim-unwrapped; +{ + home.file.".vimrc".source = ../../../.vimrc.nixos; + home.packages = with pkgs; [ + ripgrep + ]; + programs.neovim = { + enable = true; + viAlias = true; + vimAlias = true; + vimdiffAlias = true; + withNodeJs = true; + withPython3 = true; + withRuby = true; + package = unstable.neovim-unwrapped; - plugins = with pkgs.vimPlugins; [ - ack-vim - coc-highlight - coc-nvim - coc-rust-analyzer - ctrlp-vim - editorconfig-vim - fzf-vim - quickfix-reflector-vim - rainbow - tabular - vim-airline - vim-airline-themes - vim-autoformat - vim-colors-solarized - vim-devicons - vim-dirdiff - vim-dispatch - vim-fugitive - vim-gitgutter - vim-markdown - vim-nix - vim-sensible - vim-startify - vim-surround - vim-toml - ]; - extraConfig = '' - if filereadable($HOME . "/.vimrc") - source $HOME/.vimrc - endif - ''; - }; - } + plugins = with pkgs.vimPlugins; [ + ack-vim + coc-highlight + coc-nvim + coc-rust-analyzer + ctrlp-vim + editorconfig-vim + fzf-vim + quickfix-reflector-vim + rainbow + tabular + vim-airline + vim-airline-themes + vim-autoformat + vim-colors-solarized + vim-devicons + vim-dirdiff + vim-dispatch + vim-fugitive + vim-gitgutter + vim-markdown + vim-nix + vim-sensible + vim-startify + vim-surround + vim-toml + ]; + extraConfig = '' + if filereadable($HOME . "/.vimrc") + source $HOME/.vimrc + endif + ''; + }; +} diff --git a/nixos/home-manager/programs/zsh.nix b/nixos/home-manager/programs/zsh.nix index b1346348..9e25f462 100644 --- a/nixos/home-manager/programs/zsh.nix +++ b/nixos/home-manager/programs/zsh.nix @@ -1,101 +1,108 @@ { config, pkgs, ... }: - - { - programs.zsh = { - enable = true; - history = { - size = 102400; - save = 102400; - ignoreDups = true; - expireDuplicatesFirst = true; - share = true; +{ + programs.zsh = { + enable = true; + history = { + size = 102400; + save = 102400; + ignoreDups = true; + expireDuplicatesFirst = true; + share = true; }; -enableAutosuggestions = true; -enableCompletion = true; -oh-my-zsh = { -enable = true; -plugins = [ "vi-mode" "git" "python" "history-substring-search" "tmux" ]; -}; -initExtra = '' -ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=238' -setopt HIST_IGNORE_ALL_DUPS -''; -profileExtra = '' -export PATH="$HOME/programs:$PATH"; -export PATH="$HOME/tools:$PATH"; -export PATH="$HOME/bin:$PATH"; -export PATH="$HOME/.local/bin:$PATH"; -export PATH="$GOPATH/bin:$PATH"; -export PATH="$HOME/.rvm/bin:$PATH"; -export PATH="$HOME/.cargo/bin:$PATH"; -export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"; -''; -envExtra = '' -[ -s "/home/cyryl/.jabba/jabba.sh" ] && source "/home/cyryl/.jabba/jabba.sh" -tmux source-file ~/.config/tmux/tmux.conf -local nixos_version=`which nixos-version` -if [[ ! -x "$nixos_version" ]]; then - source /home/cyryl/.nix-profile/etc/profile.d/nix.sh - export NIX_PATH="$HOME/.nix-defexpr/channels:$NIX_PATH" - export NVM_DIR="$HOME/.nvm" - [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" - echo "non-nixos patches loaded" -fi -''; -sessionVariables = { -TERM="xterm-256color"; -EDITOR="vim"; -VISUAL="vim"; -PAGER="less"; -ZSH_TMUX_AUTOSTART=true; -GOPATH="$HOME/go"; -}; -shellAliases = { -tmate = "tmux detach-client -E 'tmate;tmux'"; -cat = "bat -p"; -rg = "rga"; -}; -}; -programs.direnv = { -enable = true; -enableZshIntegration = true; -nix-direnv = { -enable = true; -}; -}; -home.file.".config/starship.toml".text ='' -[aws] -disabled = true + enableAutosuggestions = true; + enableCompletion = true; -[battery] -full_symbol = "" -charging_symbol = "" -discharging_symbol = "" + oh-my-zsh = { + enable = true; + plugins = [ "vi-mode" "git" "python" "history-substring-search" "tmux" ]; + }; -[[battery.display]] -threshold = 10 -style = "bold red" + initExtra = '' + ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=238' + setopt HIST_IGNORE_ALL_DUPS + ''; -[[battery.display]] -threshold = 30 -style = "bold yellow" + profileExtra = '' + export PATH="$HOME/programs:$PATH"; + export PATH="$HOME/tools:$PATH"; + export PATH="$HOME/bin:$PATH"; + export PATH="$HOME/.local/bin:$PATH"; + export PATH="$GOPATH/bin:$PATH"; + export PATH="$HOME/.rvm/bin:$PATH"; + export PATH="$HOME/.cargo/bin:$PATH"; + export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"; + ''; -[memory_usage] -disabled = false + envExtra = '' + [ -s "/home/cyryl/.jabba/jabba.sh" ] && source "/home/cyryl/.jabba/jabba.sh" + tmux source-file ~/.config/tmux/tmux.conf + local nixos_version=`which nixos-version` + if [[ ! -x "$nixos_version" ]]; then + source /home/cyryl/.nix-profile/etc/profile.d/nix.sh + export NIX_PATH="$HOME/.nix-defexpr/channels:$NIX_PATH" + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + echo "non-nixos patches loaded" + fi + ''; -[git_branch] -symbol = "git " + sessionVariables = { + TERM = "xterm-256color"; + EDITOR = "vim"; + VISUAL = "vim"; + PAGER = "less"; + ZSH_TMUX_AUTOSTART = true; + GOPATH = "$HOME/go"; + }; -[hg_branch] -symbol = "hg " + shellAliases = { + tmate = "tmux detach-client -E 'tmate;tmux'"; + cat = "bat -p"; + rg = "rga"; + }; + }; -[nix_shell] -symbol = "nix-shell " -''; + programs.direnv = { + enable = true; + enableZshIntegration = true; + nix-direnv = { + enable = true; + }; + }; -programs.starship = { -enable = true; -enableZshIntegration = true; -}; + home.file.".config/starship.toml".text = '' + [aws] + disabled = true + + [battery] + full_symbol = "" + charging_symbol = "" + discharging_symbol = "" + + [[battery.display]] + threshold = 10 + style = "bold red" + + [[battery.display]] + threshold = 30 + style = "bold yellow" + + [memory_usage] + disabled = false + + [git_branch] + symbol = "git " + + [hg_branch] + symbol = "hg " + + [nix_shell] + symbol = "nix-shell " + ''; + + programs.starship = { + enable = true; + enableZshIntegration = true; + }; } diff --git a/nixos/home-manager/scripts/download.nix b/nixos/home-manager/scripts/download.nix index 2a74b625..54362cf3 100644 --- a/nixos/home-manager/scripts/download.nix +++ b/nixos/home-manager/scripts/download.nix @@ -11,6 +11,6 @@ let }; in - { - home.packages = with pkgs; [ download ]; - } +{ + home.packages = with pkgs; [ download ]; +} diff --git a/nixos/home-manager/scripts/mount-vault.nix b/nixos/home-manager/scripts/mount-vault.nix index f38ae262..b946c5ed 100644 --- a/nixos/home-manager/scripts/mount-vault.nix +++ b/nixos/home-manager/scripts/mount-vault.nix @@ -51,7 +51,7 @@ let }; in - { +{ - home.packages = with pkgs; [ mount-vault ]; - } + home.packages = with pkgs; [ mount-vault ]; +} diff --git a/nixos/home-manager/scripts/umount-vault.nix b/nixos/home-manager/scripts/umount-vault.nix index 23c555f0..bc7255cd 100644 --- a/nixos/home-manager/scripts/umount-vault.nix +++ b/nixos/home-manager/scripts/umount-vault.nix @@ -18,6 +18,6 @@ let }; in - { - home.packages = with pkgs; [ umount-vault ]; - } +{ + home.packages = with pkgs; [ umount-vault ]; +} diff --git a/nixos/home-other-os.nix b/nixos/home-other-os.nix index 7485843e..6f0d7e03 100644 --- a/nixos/home-other-os.nix +++ b/nixos/home-other-os.nix @@ -4,78 +4,77 @@ let unstableTarball = fetchTarball https://github.com/NixOS/nixpkgs/archive/nixpkgs-unstable.tar.gz; dotfiles = "/home/cyryl/dev/dotfiles"; in - { - nixpkgs.config = { - allowUnfree = true; - packageOverrides = pkgs: { - unstable = import unstableTarball { - config = config.nixpkgs.config; - }; +{ + nixpkgs.config = { + allowUnfree = true; + packageOverrides = pkgs: { + unstable = import unstableTarball { + config = config.nixpkgs.config; }; }; + }; - home.sessionVariables = { - LOCALE_ARCHIVE=/usr/lib/locale/locale-archive; + home.sessionVariables = { + LOCALE_ARCHIVE = /usr/lib/locale/locale-archive; + }; + + targets.genericLinux.enable = true; + home.file.".gitconfig".source = ~/dev/dotfiles/.gitconfig.linux.form3; + + imports = [ + ./git/home.nix + ./home-manager/programs/tmux.nix + ./home-manager/programs/zsh.nix + ./home-manager/links.nix + ./home-manager/programs/vim.nix + ]; + programs = { + home-manager.enable = true; + + z-lua = { + enable = true; + enableAliases = true; + enableBashIntegration = true; + enableZshIntegration = true; }; - targets.genericLinux.enable = true; - home.file.".gitconfig".source = ~/dev/dotfiles/.gitconfig.linux.form3; - - imports = [ - ./git/home.nix - ./home-manager/programs/tmux.nix - ./home-manager/programs/zsh.nix - ./home-manager/links.nix - ./home-manager/programs/vim.nix - ]; - programs = { - home-manager.enable = true; - - z-lua = { - enable = true; - enableAliases = true; - enableBashIntegration = true; - enableZshIntegration = true; - }; - - gpg = { - enable = true; - settings = { - }; - }; - taskwarrior.enable = true; - fzf.enable = true; - go.enable = true; - bat.enable = true; - lsd.enable = true; - lsd.enableAliases = true; + gpg = { + enable = true; + settings = { }; }; - home.packages = with pkgs; [ - aria - atop - bfg-repo-cleaner - curl - dnsutils - docker-compose - du-dust - fd - file - fontconfig - git - hsetroot - htop - imagemagick - jmtpfs - jq - ripgrep - rustup - terraform - tmux - unstable.exercism - unstable.genpass - unstable.topgrade - unzip - wget - whois - ]; - } + taskwarrior.enable = true; + fzf.enable = true; + go.enable = true; + bat.enable = true; + lsd.enable = true; + lsd.enableAliases = true; + }; + home.packages = with pkgs; [ + aria + atop + bfg-repo-cleaner + curl + dnsutils + docker-compose + du-dust + fd + file + fontconfig + git + hsetroot + htop + imagemagick + jmtpfs + jq + ripgrep + rustup + terraform + tmux + unstable.exercism + unstable.genpass + unstable.topgrade + unzip + wget + whois + ]; +} diff --git a/nixos/i3/autorandr.nix b/nixos/i3/autorandr.nix index 7284bf3b..cb0a031d 100644 --- a/nixos/i3/autorandr.nix +++ b/nixos/i3/autorandr.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { services.autorandr.enable = true; - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { programs.autorandr = { enable = true; hooks.postswitch = { @@ -26,7 +26,7 @@ "foureighty-docked" = { fingerprint = { eDP-1 = "00ffffffffffff0006af362300000000001b0104a51f117802f4f5a4544d9c270f505400000001010101010101010101010101010101e65f00a0a0a040503020350035ae100000180000000f0000000000000000000000000020000000fe0041554f0a202020202020202020000000fe004231343051414e30322e33200a00b2"; - DP-1 = "00ffffffffffff0026cd4e66f3030000271d0104b53c22783ef6d5a7544b9e250d5054bfef80714f8140818081c09500b300d1c001014dd000a0f0703e8030203500544f2100001a000000ff0031313636333933393031303131000000fd00184c1fa03c000a202020202020000000fc00504c3237393255480a202020200176020320f15390050403020716011f121314201511065d5e5f2309070783010000023a801871382d40582c4500544f2100001f011d8018711c1620582c2500544f2100009fa76600a0f0701f8030205500544f2100001ff45100a0f070198030203500544f2100001f565e00a0a0a0295030203500544f2100001b000000000059"; + DP-1 = "00ffffffffffff0026cd4e66f3030000271d0104b53c22783ef6d5a7544b9e250d5054bfef80714f8140818081c09500b300d1c001014dd000a0f0703e8030203500544f2100001a000000ff0031313636333933393031303131000000fd00184c1fa03c000a202020202020000000fc00504c3237393255480a202020200176020320f15390050403020716011f121314201511065d5e5f2309070783010000023a801871382d40582c4500544f2100001f011d8018711c1620582c2500544f2100009fa76600a0f0701f8030205500544f2100001ff45100a0f070198030203500544f2100001f565e00a0a0a0295030203500544f2100001b000000000059"; }; config = { eDP-1 = { diff --git a/nixos/i3/default.nix b/nixos/i3/default.nix index 2e660edf..6aed06e6 100644 --- a/nixos/i3/default.nix +++ b/nixos/i3/default.nix @@ -11,11 +11,11 @@ security.sudo.extraRules = [ { users = [ "cyryl" ]; - commands = [ { command = "${pkgs.i3}/bin/i3-msg"; options = [ "NOPASSWD" ]; } ]; + commands = [{ command = "${pkgs.i3}/bin/i3-msg"; options = [ "NOPASSWD" ]; }]; } { users = [ "cyryl" ]; - commands = [ { command = "${pkgs.intel-gpu-tools}/bin/intel_gpu_top"; options = [ "NOPASSWD" ]; } ]; + commands = [{ command = "${pkgs.intel-gpu-tools}/bin/intel_gpu_top"; options = [ "NOPASSWD" ]; }]; } ]; @@ -37,7 +37,7 @@ enableHidpi = true; }; }; - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { imports = [ ./home.nix ]; diff --git a/nixos/i3/home.nix b/nixos/i3/home.nix index 0d1f9943..2b43f8bb 100644 --- a/nixos/i3/home.nix +++ b/nixos/i3/home.nix @@ -10,7 +10,7 @@ ]; home.sessionVariables = { - CM_LAUNCHER="rofi"; + CM_LAUNCHER = "rofi"; }; services = { diff --git a/nixos/i3/i3-status.nix b/nixos/i3/i3-status.nix index 0b2bb607..148add8b 100644 --- a/nixos/i3/i3-status.nix +++ b/nixos/i3/i3-status.nix @@ -1,6 +1,6 @@ { config, pkgs, ... }: { - programs.i3status= { + programs.i3status = { enable = true; enableDefault = false; modules = { diff --git a/nixos/i3/i3.nix b/nixos/i3/i3.nix index b3bd6674..15da7d6d 100644 --- a/nixos/i3/i3.nix +++ b/nixos/i3/i3.nix @@ -2,102 +2,102 @@ let mod = "Mod4"; in - { - home.packages = with pkgs; [ - font-awesome-ttf - intel-gpu-tools - ]; +{ + home.packages = with pkgs; [ + font-awesome-ttf + intel-gpu-tools + ]; - xsession.windowManager.i3 = { - enable = true; - config = { - startup = [ - { command = "exec hsetroot -solid '#002b36'"; always = true; notification = false; } - { command = "exec setxkbmap -layout pl"; always = true; notification = false; } - { command = "exec $HOME/dev/dotfiles/nixos/i3/battery-popup.sh"; always = false; notification = false; } - { command = "exec xdg-mime default org.gnome.Evince.desktop application/pdf"; always = false; notification = false; } - { command = "exec ${pkgs.autorandr}/bin/autorandr -c"; always = false; notification = false; } - ]; - - window = { - hideEdgeBorders = "horizontal"; - titlebar = false; - border = 0; - }; - - workspaceLayout = "tabbed"; - bars = [ - { - position = "top"; - colors.background = "#001e26"; - colors.statusline = "#708183"; - fonts = { - names = [ "Fira Code Nerd Font" ]; - size = 10.0; - }; - - trayOutput = "primary"; - } - ]; - - modifier = mod; - keybindings = { - "${mod}+Shift+e" = "exec i3-msg exit"; - "${mod}+Shift+c" = "reload"; - "${mod}+Shift+d" = "exec ${pkgs.grobi}/bin/grobi update"; - "${mod}+Shift+r" = "restart"; - "${mod}+Shift+l" = "exec physlock -d"; - "${mod}+Return" = "exec i3-sensible-terminal"; - - "XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%"; - "XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%"; - "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle"; - "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle"; - - "XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5"; - "XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5"; - - "Print" = "exec ${pkgs.gnome3.gnome-screenshot}/bin/gnome-screenshot -i"; - - "${mod}+r" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modi window#run#ssh -modi combi"; - "${mod}+c" = "exec ${pkgs.clipmenu}/bin/clipmenu"; - "${mod}+q" = "kill"; - "${mod}+f" = "fullscreen toggle"; - - "${mod}+h" = "focus left"; - "${mod}+j" = "focus down"; - "${mod}+k" = "focus up"; - "${mod}+l" = "focus right"; - - "${mod}+1" = "workspace 1"; - "${mod}+2" = "workspace 2"; - "${mod}+3" = "workspace 3"; - "${mod}+4" = "workspace 4"; - "${mod}+5" = "workspace 5"; - "${mod}+6" = "workspace 6"; - "${mod}+7" = "workspace 7"; - "${mod}+8" = "workspace 8"; - "${mod}+9" = "workspace 9"; - "${mod}+0" = "workspace 10"; - - "${mod}+Shift+1" = "move container to workspace 1"; - "${mod}+Shift+2" = "move container to workspace 2"; - "${mod}+Shift+3" = "move container to workspace 3"; - "${mod}+Shift+4" = "move container to workspace 4"; - "${mod}+Shift+5" = "move container to workspace 5"; - "${mod}+Shift+6" = "move container to workspace 6"; - "${mod}+Shift+7" = "move container to workspace 7"; - "${mod}+Shift+8" = "move container to workspace 8"; - "${mod}+Shift+9" = "move container to workspace 9"; - "${mod}+Shift+0" = "move container to workspace 10"; - - "${mod}+Ctrl+Left" = "move workspace to output left"; - "${mod}+Ctrl+Right" = "move workspace to output right"; - "${mod}+Ctrl+Up" = "move workspace to output up"; - "${mod}+Ctrl+Down" = "move workspace to output down"; - }; + xsession.windowManager.i3 = { + enable = true; + config = { + startup = [ + { command = "exec hsetroot -solid '#002b36'"; always = true; notification = false; } + { command = "exec setxkbmap -layout pl"; always = true; notification = false; } + { command = "exec $HOME/dev/dotfiles/nixos/i3/battery-popup.sh"; always = false; notification = false; } + { command = "exec xdg-mime default org.gnome.Evince.desktop application/pdf"; always = false; notification = false; } + { command = "exec ${pkgs.autorandr}/bin/autorandr -c"; always = false; notification = false; } + ]; + window = { + hideEdgeBorders = "horizontal"; + titlebar = false; + border = 0; }; - }; - } + workspaceLayout = "tabbed"; + bars = [ + { + position = "top"; + colors.background = "#001e26"; + colors.statusline = "#708183"; + fonts = { + names = [ "Fira Code Nerd Font" ]; + size = 10.0; + }; + + trayOutput = "primary"; + } + ]; + + modifier = mod; + keybindings = { + "${mod}+Shift+e" = "exec i3-msg exit"; + "${mod}+Shift+c" = "reload"; + "${mod}+Shift+d" = "exec ${pkgs.grobi}/bin/grobi update"; + "${mod}+Shift+r" = "restart"; + "${mod}+Shift+l" = "exec physlock -d"; + "${mod}+Return" = "exec i3-sensible-terminal"; + + "XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%"; + "XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%"; + "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle"; + "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle"; + + "XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5"; + "XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5"; + + "Print" = "exec ${pkgs.gnome3.gnome-screenshot}/bin/gnome-screenshot -i"; + + "${mod}+r" = "exec ${pkgs.rofi}/bin/rofi -show combi -combi-modi window#run#ssh -modi combi"; + "${mod}+c" = "exec ${pkgs.clipmenu}/bin/clipmenu"; + "${mod}+q" = "kill"; + "${mod}+f" = "fullscreen toggle"; + + "${mod}+h" = "focus left"; + "${mod}+j" = "focus down"; + "${mod}+k" = "focus up"; + "${mod}+l" = "focus right"; + + "${mod}+1" = "workspace 1"; + "${mod}+2" = "workspace 2"; + "${mod}+3" = "workspace 3"; + "${mod}+4" = "workspace 4"; + "${mod}+5" = "workspace 5"; + "${mod}+6" = "workspace 6"; + "${mod}+7" = "workspace 7"; + "${mod}+8" = "workspace 8"; + "${mod}+9" = "workspace 9"; + "${mod}+0" = "workspace 10"; + + "${mod}+Shift+1" = "move container to workspace 1"; + "${mod}+Shift+2" = "move container to workspace 2"; + "${mod}+Shift+3" = "move container to workspace 3"; + "${mod}+Shift+4" = "move container to workspace 4"; + "${mod}+Shift+5" = "move container to workspace 5"; + "${mod}+Shift+6" = "move container to workspace 6"; + "${mod}+Shift+7" = "move container to workspace 7"; + "${mod}+Shift+8" = "move container to workspace 8"; + "${mod}+Shift+9" = "move container to workspace 9"; + "${mod}+Shift+0" = "move container to workspace 10"; + + "${mod}+Ctrl+Left" = "move workspace to output left"; + "${mod}+Ctrl+Right" = "move workspace to output right"; + "${mod}+Ctrl+Up" = "move workspace to output up"; + "${mod}+Ctrl+Down" = "move workspace to output down"; + }; + + }; + }; + +} diff --git a/nixos/i3/kdeconnect.nix b/nixos/i3/kdeconnect.nix index dc61f70b..771c17e1 100644 --- a/nixos/i3/kdeconnect.nix +++ b/nixos/i3/kdeconnect.nix @@ -5,5 +5,5 @@ indicator = true; }; - home.packages = with pkgs; [ kdeconnect ] ; + home.packages = with pkgs; [ kdeconnect ]; } diff --git a/nixos/i3/polybar/polybar.nix b/nixos/i3/polybar/polybar.nix index 0d8762da..8b3b9c81 100644 --- a/nixos/i3/polybar/polybar.nix +++ b/nixos/i3/polybar/polybar.nix @@ -11,7 +11,7 @@ githubSupport = true; }; config = { - "settings" = {screenchange-reload = "true";}; + "settings" = { screenchange-reload = "true"; }; "bar/main_bar" = { font-0 = "DejaVu Sans Mono for Powerline:size=12.0;weight=bold"; font-1 = "Weather Icons:size=12;0"; diff --git a/nixos/kde.nix b/nixos/kde.nix index 7a8ad8bc..b3c8cf3c 100644 --- a/nixos/kde.nix +++ b/nixos/kde.nix @@ -1,4 +1,3 @@ - { config, pkgs, ... }: { services.xserver = { @@ -10,6 +9,6 @@ desktopManager.default = "plasma5"; desktopManager.plasma5.enable = true; }; - users.users.cyryl.packages = with pkgs; []; + users.users.cyryl.packages = with pkgs; [ ]; } diff --git a/nixos/libvirt.nix b/nixos/libvirt.nix index efd0b0ee..e452d570 100644 --- a/nixos/libvirt.nix +++ b/nixos/libvirt.nix @@ -7,7 +7,9 @@ users.extraUsers.cyryl.extraGroups = [ "kvm" ]; environment.systemPackages = with pkgs; [ - virtmanager qemu swtpm + virtmanager + qemu + swtpm ]; } diff --git a/nixos/mercurial/default.nix b/nixos/mercurial/default.nix index 2c4065d1..334780b1 100644 --- a/nixos/mercurial/default.nix +++ b/nixos/mercurial/default.nix @@ -1,6 +1,6 @@ { config, pkgs, lib, ... }: { - home-manager.users.cyryl = {...}: { + home-manager.users.cyryl = { ... }: { imports = [ ./home.nix ]; diff --git a/nixos/mercurial/home.nix b/nixos/mercurial/home.nix index 2ed2c8ed..c7a4b24f 100644 --- a/nixos/mercurial/home.nix +++ b/nixos/mercurial/home.nix @@ -11,7 +11,6 @@ paginate = never ''; aliases = - { - }; - }; - } + { }; + }; +} diff --git a/nixos/packages/decsync-evolution/default.nix b/nixos/packages/decsync-evolution/default.nix index e191f09e..94bb4d71 100644 --- a/nixos/packages/decsync-evolution/default.nix +++ b/nixos/packages/decsync-evolution/default.nix @@ -1,19 +1,19 @@ -with import {}; +with import { }; stdenv.mkDerivation rec { - name = "evolution-decsync"; - version = "1.0.1"; - src = fetchFromGitHub { - owner = "39aldo39"; - repo = "Evolution-DecSync"; - rev = "v1.0.1"; - sha256 = "0cq5cvc9ywcbwrhj5nm9azjmjwc8hxfbw3r7bjqkjd0bwfnxk3g6"; - fetchSubmodules = true; - }; + name = "evolution-decsync"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "39aldo39"; + repo = "Evolution-DecSync"; + rev = "v1.0.1"; + sha256 = "0cq5cvc9ywcbwrhj5nm9azjmjwc8hxfbw3r7bjqkjd0bwfnxk3g6"; + fetchSubmodules = true; + }; - buildInputs = [ libgee json-glib gnome3.evolution-data-server gnome3.evolution gtk3 webkitgtk glib libsecret libsoup]; - nativeBuildInputs = [ meson ninja vala pkg-config ]; - configurePhase = "meson build --prefix=$out"; - buildPhase = "ninja -C build"; - installPhase = "ninja -C build install"; -} \ No newline at end of file + buildInputs = [ libgee json-glib gnome3.evolution-data-server gnome3.evolution gtk3 webkitgtk glib libsecret libsoup ]; + nativeBuildInputs = [ meson ninja vala pkg-config ]; + configurePhase = "meson build --prefix=$out"; + buildPhase = "ninja -C build"; + installPhase = "ninja -C build install"; +} diff --git a/nixos/packages/etesync-dav/default.nix b/nixos/packages/etesync-dav/default.nix index 08cf15cd..c8ce3fb5 100644 --- a/nixos/packages/etesync-dav/default.nix +++ b/nixos/packages/etesync-dav/default.nix @@ -1,151 +1,67 @@ -with import {}; +with import { }; let - pyscrypt = python37.pkgs.buildPythonPackage rec { - pname = "pyscrypt"; - version = "1.6.2"; - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "bafdd195f10f7c7395f0133bad09746a68e0e6b66da202c9bdb6b1eb4abba5e9"; - }; - doCheck = false; - meta = with stdenv.lib; { - homepage = "https://github.com/ricmoo/pyscrypt"; - license = licenses.mit; - description = "Pure-Python Implementation of the scrypt password-based key derivation function and scrypt file format library"; - }; - }; - - orderedmultidict = python37.pkgs.buildPythonPackage rec { - pname = "orderedmultidict"; - version = "1.0"; - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "b89895ba6438038d0bdf88020ceff876cf3eae0d5c66a69b526fab31125db2c5"; - }; - checkInputs = [ python37Packages.pycodestyle ]; - propagatedBuildInputs = [ python37Packages.six ]; - meta = with pkgs.stdenv.lib; { - homepage = "https://github.com/gruns/orderedmultidict"; - license = licenses.unlicense; - description = "Ordered Multivalue Dictionary - omdict."; - }; - }; - - furl = python37.pkgs.buildPythonPackage rec { - pname = "furl"; - version = "2.0.0"; - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "fdcaedc1fb19a63d7d875b0105b0a5b496dd0989330d454a42bcb401fa5454ec"; - }; - checkInputs = [ python37Packages.flake8 ]; - propagatedBuildInputs = [ orderedmultidict python37Packages.six ]; - meta = with pkgs.stdenv.lib; { - homepage = "https://github.com/gruns/furl"; - license = licenses.publicDomain; - description = "URL manipulation made simple."; - }; - }; - - etesync = python37.pkgs.buildPythonPackage rec { - pname = "etesync"; - version = "0.8.1"; - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "007zsdn0zv0f80wpyf8fzl446wmv7jr8a0pdp4wj1y61b14f4q0p"; - }; - checkInputs = [ python37Packages.pytest ]; - meta = with pkgs.stdenv.lib; { - homepage = "https://github.com/etesync/pyetesync"; - license = licenses.lgpl3; - description = "Python client library for EteSync"; - }; - propagatedBuildInputs = [ - python37Packages.appdirs - python37Packages.asn1crypto - python37Packages.certifi - python37Packages.cffi - python37Packages.chardet - python37Packages.coverage - python37Packages.cryptography - python37Packages.idna - python37Packages.packaging - python37Packages.peewee - python37Packages.py - python37Packages.pyasn1 - python37Packages.pycparser - python37Packages.pyparsing - python37Packages.python-dateutil - python37Packages.requests - python37Packages.six - python37Packages.urllib3 - python37Packages.vobject - pyscrypt - orderedmultidict - furl - ]; - }; - - radicale = python37.pkgs.buildPythonPackage rec { - pname = "Radicale"; - version = "2.1.11"; - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "02273fcc6ae10e0f74aa12652e24d0001eec8dbf467d54ddb4dfcc2af7d7a5db"; - }; - doCheck = false; - checkInputs = [ - python37Packages.pytestrunner - python37Packages.pytest-isort - python37Packages.pytest-flake8 - python37Packages.pytestcov - ]; - propagatedBuildInputs = [ python37Packages.dateutil python37Packages.vobject ]; - meta = with pkgs.stdenv.lib; { - homepage = "http://www.radicale.org/"; - license = licenses.gpl1; - description = "CalDAV and CardDAV Server"; - }; - }; - - radicale-storage-etesync = python37.pkgs.buildPythonPackage rec { - pname = "radicale_storage_etesync"; - version = "0.7.0"; - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "1vq889jshlb3m13m2lgbjy440lph27ig53sfipkj7ds5sb5znhh5"; - }; - propagatedBuildInputs = [ etesync radicale pyscrypt orderedmultidict furl - python37Packages.coverage - python37Packages.pyasn1 - python37Packages.appdirs - python37Packages.vobject - python37Packages.py - python37Packages.cffi - python37Packages.pyparsing - python37Packages.requests - python37Packages.peewee - ]; - meta = with pkgs.stdenv.lib; { - homepage = "https://github.com/etesync/radicale_storage_etesync"; - license = licenses.gpl3; - description = "An EteSync storage plugin for radicale"; - }; - }; - -in - -python37.pkgs.buildPythonPackage rec { - pname = "etesync-dav"; - version = "0.5.0"; + pyscrypt = python37.pkgs.buildPythonPackage rec { + pname = "pyscrypt"; + version = "1.6.2"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "18ykgi3gqy6p7wj7n9d88rsn0y566ypl5ixpb3v7l3f6w5fffwh1"; + sha256 = "bafdd195f10f7c7395f0133bad09746a68e0e6b66da202c9bdb6b1eb4abba5e9"; + }; + doCheck = false; + meta = with stdenv.lib; { + homepage = "https://github.com/ricmoo/pyscrypt"; + license = licenses.mit; + description = "Pure-Python Implementation of the scrypt password-based key derivation function and scrypt file format library"; + }; + }; + + orderedmultidict = python37.pkgs.buildPythonPackage rec { + pname = "orderedmultidict"; + version = "1.0"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "b89895ba6438038d0bdf88020ceff876cf3eae0d5c66a69b526fab31125db2c5"; + }; + checkInputs = [ python37Packages.pycodestyle ]; + propagatedBuildInputs = [ python37Packages.six ]; + meta = with pkgs.stdenv.lib; { + homepage = "https://github.com/gruns/orderedmultidict"; + license = licenses.unlicense; + description = "Ordered Multivalue Dictionary - omdict."; + }; + }; + + furl = python37.pkgs.buildPythonPackage rec { + pname = "furl"; + version = "2.0.0"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "fdcaedc1fb19a63d7d875b0105b0a5b496dd0989330d454a42bcb401fa5454ec"; + }; + checkInputs = [ python37Packages.flake8 ]; + propagatedBuildInputs = [ orderedmultidict python37Packages.six ]; + meta = with pkgs.stdenv.lib; { + homepage = "https://github.com/gruns/furl"; + license = licenses.publicDomain; + description = "URL manipulation made simple."; + }; + }; + + etesync = python37.pkgs.buildPythonPackage rec { + pname = "etesync"; + version = "0.8.1"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "007zsdn0zv0f80wpyf8fzl446wmv7jr8a0pdp4wj1y61b14f4q0p"; + }; + checkInputs = [ python37Packages.pytest ]; + meta = with pkgs.stdenv.lib; { + homepage = "https://github.com/etesync/pyetesync"; + license = licenses.lgpl3; + description = "Python client library for EteSync"; }; propagatedBuildInputs = [ - python37Packages.pytz - python37Packages.pytzdata python37Packages.appdirs python37Packages.asn1crypto python37Packages.certifi @@ -165,11 +81,100 @@ python37.pkgs.buildPythonPackage rec { python37Packages.six python37Packages.urllib3 python37Packages.vobject - radicale - furl - orderedmultidict pyscrypt + orderedmultidict + furl + ]; + }; + + radicale = python37.pkgs.buildPythonPackage rec { + pname = "Radicale"; + version = "2.1.11"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "02273fcc6ae10e0f74aa12652e24d0001eec8dbf467d54ddb4dfcc2af7d7a5db"; + }; + doCheck = false; + checkInputs = [ + python37Packages.pytestrunner + python37Packages.pytest-isort + python37Packages.pytest-flake8 + python37Packages.pytestcov + ]; + propagatedBuildInputs = [ python37Packages.dateutil python37Packages.vobject ]; + meta = with pkgs.stdenv.lib; { + homepage = "http://www.radicale.org/"; + license = licenses.gpl1; + description = "CalDAV and CardDAV Server"; + }; + }; + + radicale-storage-etesync = python37.pkgs.buildPythonPackage rec { + pname = "radicale_storage_etesync"; + version = "0.7.0"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "1vq889jshlb3m13m2lgbjy440lph27ig53sfipkj7ds5sb5znhh5"; + }; + propagatedBuildInputs = [ etesync - radicale-storage-etesync - ]; + radicale + pyscrypt + orderedmultidict + furl + python37Packages.coverage + python37Packages.pyasn1 + python37Packages.appdirs + python37Packages.vobject + python37Packages.py + python37Packages.cffi + python37Packages.pyparsing + python37Packages.requests + python37Packages.peewee + ]; + meta = with pkgs.stdenv.lib; { + homepage = "https://github.com/etesync/radicale_storage_etesync"; + license = licenses.gpl3; + description = "An EteSync storage plugin for radicale"; + }; + }; + +in + +python37.pkgs.buildPythonPackage rec { + pname = "etesync-dav"; + version = "0.5.0"; + src = pythonPackages.fetchPypi { + inherit pname version; + sha256 = "18ykgi3gqy6p7wj7n9d88rsn0y566ypl5ixpb3v7l3f6w5fffwh1"; + }; + propagatedBuildInputs = [ + python37Packages.pytz + python37Packages.pytzdata + python37Packages.appdirs + python37Packages.asn1crypto + python37Packages.certifi + python37Packages.cffi + python37Packages.chardet + python37Packages.coverage + python37Packages.cryptography + python37Packages.idna + python37Packages.packaging + python37Packages.peewee + python37Packages.py + python37Packages.pyasn1 + python37Packages.pycparser + python37Packages.pyparsing + python37Packages.python-dateutil + python37Packages.requests + python37Packages.six + python37Packages.urllib3 + python37Packages.vobject + radicale + furl + orderedmultidict + pyscrypt + etesync + radicale-storage-etesync + ]; } diff --git a/nixos/security-kernel.nix b/nixos/security-kernel.nix index 33406cd0..0898fec5 100644 --- a/nixos/security-kernel.nix +++ b/nixos/security-kernel.nix @@ -1,6 +1,6 @@ { config, pkgs, ... }: { - boot.kernelPatches = [ { + boot.kernelPatches = [{ name = "cyplo-hardened"; patch = null; extraConfig = '' @@ -42,5 +42,5 @@ PROC_KCORE n INET_DIAG n ''; - } ]; + }]; } diff --git a/nixos/security.nix b/nixos/security.nix index f921f204..b646bfe6 100644 --- a/nixos/security.nix +++ b/nixos/security.nix @@ -46,14 +46,14 @@ boot.kernel.sysctl."net.ipv4.conf.all.log_martians" = true; boot.kernel.sysctl."net.ipv4.conf.all.rp_filter" = "1"; boot.kernel.sysctl."net.ipv4.conf.default.log_martians" = true; - boot.kernel.sysctl."net.ipv4.conf.default.rp_filter" = "1"; - boot.kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = true; - boot.kernel.sysctl."net.ipv4.conf.all.accept_redirects" = false; - boot.kernel.sysctl."net.ipv4.conf.all.secure_redirects" = false; - boot.kernel.sysctl."net.ipv4.conf.default.accept_redirects" = false; - boot.kernel.sysctl."net.ipv4.conf.default.secure_redirects" = false; - boot.kernel.sysctl."net.ipv6.conf.all.accept_redirects" = false; - boot.kernel.sysctl."net.ipv6.conf.default.accept_redirects" = false; - boot.kernel.sysctl."net.ipv4.conf.all.send_redirects" = false; - boot.kernel.sysctl."net.ipv4.conf.default.send_redirects" = false; + boot.kernel.sysctl."net.ipv4.conf.default.rp_filter" = "1"; + boot.kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = true; + boot.kernel.sysctl."net.ipv4.conf.all.accept_redirects" = false; + boot.kernel.sysctl."net.ipv4.conf.all.secure_redirects" = false; + boot.kernel.sysctl."net.ipv4.conf.default.accept_redirects" = false; + boot.kernel.sysctl."net.ipv4.conf.default.secure_redirects" = false; + boot.kernel.sysctl."net.ipv6.conf.all.accept_redirects" = false; + boot.kernel.sysctl."net.ipv6.conf.default.accept_redirects" = false; + boot.kernel.sysctl."net.ipv4.conf.all.send_redirects" = false; + boot.kernel.sysctl."net.ipv4.conf.default.send_redirects" = false; } diff --git a/nixos/server-security.nix b/nixos/server-security.nix index 6a63b879..c8f92a7d 100644 --- a/nixos/server-security.nix +++ b/nixos/server-security.nix @@ -7,26 +7,26 @@ let "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIALNEUIxbENTdhSWzYupGFn/q+AGe0diBOTMyiZAmv7F nix-builder@vultr1" ]; in - { - imports = [ - ./security.nix - ]; - security.acme.email = "admin@cyplo.dev"; - security.acme.acceptTerms = true; +{ + imports = [ + ./security.nix + ]; + security.acme.email = "admin@cyplo.dev"; + security.acme.acceptTerms = true; - services.fail2ban.enable = true; + services.fail2ban.enable = true; - services.openssh = { - enable = true; - permitRootLogin = "prohibit-password"; - passwordAuthentication = false; - }; + services.openssh = { + enable = true; + permitRootLogin = "prohibit-password"; + passwordAuthentication = false; + }; - users.extraUsers.root.openssh.authorizedKeys.keys = authorizedKeys; - users.users.nix-builder = { - isNormalUser = true; - openssh.authorizedKeys.keys = authorizedKeys; - }; + users.extraUsers.root.openssh.authorizedKeys.keys = authorizedKeys; + users.users.nix-builder = { + isNormalUser = true; + openssh.authorizedKeys.keys = authorizedKeys; + }; - nix.trustedUsers = [ "root" "nix-builder" ]; - } + nix.trustedUsers = [ "root" "nix-builder" ]; +} diff --git a/nixos/sway/default.nix b/nixos/sway/default.nix index 3df4d7d7..f80b1085 100644 --- a/nixos/sway/default.nix +++ b/nixos/sway/default.nix @@ -2,88 +2,90 @@ let mod = "Mod4"; in - { - services.dbus.packages = with pkgs; [ gnome2.GConf gnome3.dconf ]; - services.dbus.socketActivated = true; - programs.dconf.enable = true; - programs.qt5ct.enable = true; - systemd.defaultUnit = "graphical.target"; +{ + services.dbus.packages = with pkgs; [ gnome2.GConf gnome3.dconf ]; + services.dbus.socketActivated = true; + programs.dconf.enable = true; + programs.qt5ct.enable = true; + systemd.defaultUnit = "graphical.target"; - home-manager.users.cyryl = {...}: { - programs.mako.enable = true; + home-manager.users.cyryl = { ... }: { + programs.mako.enable = true; - imports = [ - ./keybindings.nix - ]; + imports = [ + ./keybindings.nix + ]; - home.sessionVariables = { - XDG_CURRENT_DESKTOP="Unity"; - SDL_VIDEODRIVER="wayland"; - QT_QPA_PLATFORM="wayland-egl"; - QT_WAYLAND_FORCE_DPI="physical"; - QT_WAYLAND_DISABLE_WINDOWDECORATION="1"; - }; + home.sessionVariables = { + XDG_CURRENT_DESKTOP = "Unity"; + SDL_VIDEODRIVER = "wayland"; + QT_QPA_PLATFORM = "wayland-egl"; + QT_WAYLAND_FORCE_DPI = "physical"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + }; - home.packages = with pkgs; [ - firefox-wayland - wl-clipboard - clipman - wofi - libappindicator-gtk3 - gtk-engine-murrine - gtk_engines - gsettings-desktop-schemas - lxappearance - ]; + home.packages = with pkgs; [ + firefox-wayland + wl-clipboard + clipman + wofi + libappindicator-gtk3 + gtk-engine-murrine + gtk_engines + gsettings-desktop-schemas + lxappearance + ]; - services.udiskie.enable = true; - xsession.preferStatusNotifierItems = true; + services.udiskie.enable = true; + xsession.preferStatusNotifierItems = true; - home.file.".config/wofi/style.css".source = ../../.config/wofi/style.css; - home.file.".config/waybar/config".source = ../../.config/waybar/config; - home.file.".config/waybar/style.css".source = ../../.config/waybar/style.css; - wayland.windowManager.sway = { - enable = true; - wrapperFeatures.base = true; - wrapperFeatures.gtk = true; - package = pkgs.unstable.sway; - extraConfig = '' - default_border none + home.file.".config/wofi/style.css".source = ../../.config/wofi/style.css; + home.file.".config/waybar/config".source = ../../.config/waybar/config; + home.file.".config/waybar/style.css".source = ../../.config/waybar/style.css; + wayland.windowManager.sway = { + enable = true; + wrapperFeatures.base = true; + wrapperFeatures.gtk = true; + package = pkgs.unstable.sway; + extraConfig = '' + default_border none + ''; + extraSessionCommands = '' ''; - extraSessionCommands = '' - ''; - config = { - modifier = "${mod}"; - menu = "${pkgs.wofi}/bin/wofi --show drun,run"; - terminal = "${pkgs.alacritty}/bin/alacritty"; - workspaceLayout = "tabbed"; - window = { - hideEdgeBorders = "both"; - titlebar = false; - border = 0; - }; - bars = [ - { - position = "top"; - command = "${pkgs.waybar}/bin/waybar"; - } - ]; - startup = [ - { command = "${pkgs.wl-clipboard}/bin/wl-paste -t text --watch ${pkgs.clipman}/bin/clipman store"; } - { command = "${pkgs.clipman}/bin/clipman restore"; } - { command = ''swayidle -w timeout 300 'swaylock -f -c 000000' timeout 600 'swaymsg "output * dpms off" && systemctl suspend' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 657b83' - ''; } - ]; - output.eDP-1.scale = "1.7"; - input."1:1:AT_Translated_Set_2_keyboard" = { - xkb_layout = "pl"; - xkb_options = "caps:ctrl_modifier"; - }; - input."2:7:SynPS/2_Synaptics_TouchPad" = { - tap = "enabled"; - }; + config = { + modifier = "${mod}"; + menu = "${pkgs.wofi}/bin/wofi --show drun,run"; + terminal = "${pkgs.alacritty}/bin/alacritty"; + workspaceLayout = "tabbed"; + window = { + hideEdgeBorders = "both"; + titlebar = false; + border = 0; + }; + bars = [ + { + position = "top"; + command = "${pkgs.waybar}/bin/waybar"; + } + ]; + startup = [ + { command = "${pkgs.wl-clipboard}/bin/wl-paste -t text --watch ${pkgs.clipman}/bin/clipman store"; } + { command = "${pkgs.clipman}/bin/clipman restore"; } + { + command = ''swayidle -w timeout 300 'swaylock -f -c 000000' timeout 600 'swaymsg "output * dpms off" && systemctl suspend' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -f -c 657b83' + ''; + } + ]; + output.eDP-1.scale = "1.7"; + input."1:1:AT_Translated_Set_2_keyboard" = { + xkb_layout = "pl"; + xkb_options = "caps:ctrl_modifier"; + }; + input."2:7:SynPS/2_Synaptics_TouchPad" = { + tap = "enabled"; }; }; }; - } + }; +} diff --git a/nixos/sway/keybindings.nix b/nixos/sway/keybindings.nix index 9fcf48f6..7f7291dd 100644 --- a/nixos/sway/keybindings.nix +++ b/nixos/sway/keybindings.nix @@ -2,58 +2,58 @@ let mod = "Mod4"; in - { - wayland.windowManager.sway.config.keybindings = { - "${mod}+Shift+e" = "exit"; - "${mod}+Shift+r" = "reload"; - "${mod}+Shift+l" = "exec swaylock -c 657b83"; - "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; +{ + wayland.windowManager.sway.config.keybindings = { + "${mod}+Shift+e" = "exit"; + "${mod}+Shift+r" = "reload"; + "${mod}+Shift+l" = "exec swaylock -c 657b83"; + "${mod}+Return" = "exec ${pkgs.kitty}/bin/kitty"; - "XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%"; - "XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%"; - "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle"; - "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle"; + "XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%"; + "XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%"; + "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle"; + "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle"; - "XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5"; - "XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5"; + "XF86MonBrightnessUp" = "exec light -s sysfs/backlight/intel_backlight -A 5"; + "XF86MonBrightnessDown" = "exec light -s sysfs/backlight/intel_backlight -U 5"; - "Print" = "exec ${pkgs.gnome3.gnome-screenshot}/bin/gnome-screenshot -i"; + "Print" = "exec ${pkgs.gnome3.gnome-screenshot}/bin/gnome-screenshot -i"; - "${mod}+r" = "exec ${pkgs.wofi}/bin/wofi --show drun,run"; - "${mod}+c" = "exec ${pkgs.clipman}/bin/clipman pick -t wofi"; - "${mod}+q" = "kill"; - "${mod}+f" = "fullscreen toggle"; + "${mod}+r" = "exec ${pkgs.wofi}/bin/wofi --show drun,run"; + "${mod}+c" = "exec ${pkgs.clipman}/bin/clipman pick -t wofi"; + "${mod}+q" = "kill"; + "${mod}+f" = "fullscreen toggle"; - "${mod}+h" = "focus left"; - "${mod}+j" = "focus down"; - "${mod}+k" = "focus up"; - "${mod}+l" = "focus right"; + "${mod}+h" = "focus left"; + "${mod}+j" = "focus down"; + "${mod}+k" = "focus up"; + "${mod}+l" = "focus right"; - "${mod}+1" = "workspace 1"; - "${mod}+2" = "workspace 2"; - "${mod}+3" = "workspace 3"; - "${mod}+4" = "workspace 4"; - "${mod}+5" = "workspace 5"; - "${mod}+6" = "workspace 6"; - "${mod}+7" = "workspace 7"; - "${mod}+8" = "workspace 8"; - "${mod}+9" = "workspace 9"; - "${mod}+0" = "workspace 10"; + "${mod}+1" = "workspace 1"; + "${mod}+2" = "workspace 2"; + "${mod}+3" = "workspace 3"; + "${mod}+4" = "workspace 4"; + "${mod}+5" = "workspace 5"; + "${mod}+6" = "workspace 6"; + "${mod}+7" = "workspace 7"; + "${mod}+8" = "workspace 8"; + "${mod}+9" = "workspace 9"; + "${mod}+0" = "workspace 10"; - "${mod}+Shift+1" = "move container to workspace 1"; - "${mod}+Shift+2" = "move container to workspace 2"; - "${mod}+Shift+3" = "move container to workspace 3"; - "${mod}+Shift+4" = "move container to workspace 4"; - "${mod}+Shift+5" = "move container to workspace 5"; - "${mod}+Shift+6" = "move container to workspace 6"; - "${mod}+Shift+7" = "move container to workspace 7"; - "${mod}+Shift+8" = "move container to workspace 8"; - "${mod}+Shift+9" = "move container to workspace 9"; - "${mod}+Shift+0" = "move container to workspace 10"; + "${mod}+Shift+1" = "move container to workspace 1"; + "${mod}+Shift+2" = "move container to workspace 2"; + "${mod}+Shift+3" = "move container to workspace 3"; + "${mod}+Shift+4" = "move container to workspace 4"; + "${mod}+Shift+5" = "move container to workspace 5"; + "${mod}+Shift+6" = "move container to workspace 6"; + "${mod}+Shift+7" = "move container to workspace 7"; + "${mod}+Shift+8" = "move container to workspace 8"; + "${mod}+Shift+9" = "move container to workspace 9"; + "${mod}+Shift+0" = "move container to workspace 10"; - "${mod}+Ctrl+Left" = "move workspace to output left"; - "${mod}+Ctrl+Right" = "move workspace to output right"; - "${mod}+Ctrl+Up" = "move workspace to output up"; - "${mod}+Ctrl+Down" = "move workspace to output down"; - }; - } + "${mod}+Ctrl+Left" = "move workspace to output left"; + "${mod}+Ctrl+Right" = "move workspace to output right"; + "${mod}+Ctrl+Up" = "move workspace to output up"; + "${mod}+Ctrl+Down" = "move workspace to output down"; + }; +} diff --git a/nixos/tailscale.nix b/nixos/tailscale.nix index 9b1fa8b1..441f4081 100644 --- a/nixos/tailscale.nix +++ b/nixos/tailscale.nix @@ -1,8 +1,9 @@ { config, pkgs, inputs, ... }: let - tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; + tailscale = inputs.nixpkgs-nixos-unstable.legacyPackages."x86_64-linux".tailscale; -in { +in +{ environment.systemPackages = [ tailscale ]; services.tailscale = { enable = true;