diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 88 |
1 files changed, 35 insertions, 53 deletions
@@ -1,59 +1,41 @@ { - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05"; - home-manager.url = "github:rycee/home-manager/release-21.05"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - }; - outputs = { self, nixpkgs, home-manager }: { - lib.enableSwaybar = { config, pkgs, ... }: - let - colors = config.colors; - background = "#${colors.base00}"; - brite_bg = "#${colors.base01}"; - dim = "#${colors.base04}"; - fg = "#${colors.base05}"; - brite = "#${colors.base07}"; - in { - wayland.windowManager.sway.config.bars = [{ - colors.background = background; - colors.statusline = fg; - colors.activeWorkspace.background = background; - colors.activeWorkspace.border = background; - colors.activeWorkspace.text = fg; - colors.focusedWorkspace.background = background; - colors.focusedWorkspace.border = background; - colors.focusedWorkspace.text = brite; - colors.inactiveWorkspace.background = background; - colors.inactiveWorkspace.border = background; - colors.inactiveWorkspace.text = dim; - colors.urgentWorkspace.background = fg; - colors.urgentWorkspace.border = background; - colors.urgentWorkspace.text = background; - fonts = { - names = [ config.font-name "Symbola"]; - style = "Condensed"; - size = config.font-size - 4.0; + inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05"; }; + outputs = { self, nixpkgs }: { + nixosModule = { config }: { + options = { + services.pia.authUserPass = { + username = nixpkgs.lib.mkOption { + default = false; + type = nixpkgs.lib.types.bool; + }; + password = nixpkgs.lib.mkOption { + default = false; + type = nixpkgs.lib.types.bool; }; - position = "top"; - statusCommand = "${self.defaultPackage.x86_64-linux}/bin/swaybar"; - }]; - }; - - defaultPackage.x86_64-linux = - nixpkgs.legacyPackages.x86_64-linux.rustPlatform.buildRustPackage { - pname = "swaybar"; - version = "0.1.0"; - - src = ./.; - - cargoSha256 = "YiNaEyiKfiBIWzRXNIoqeWzoD/AGYNXYyy33Tj3a61g="; - - meta = with nixpkgs.lib; { - description = "My personal code for swaybar"; - homepage = "https://sr.ht/rprospero/swaybar"; - license = licenses.unlicense; - maintainers = [ maintainers.rprospero ]; }; }; + config = { + services.openvpn.servers = let + resources = nixpkgs.fetchzip { + name = "pia-vpn-config"; + url = "https://www.privateinternetaccess.com/openvpn/openvpn.zip"; + sha256 = "ZA8RS6eIjMVQfBt+9hYyhaq8LByy5oJaO9Ed+x8KtW8="; + stripRoot = false; + }; + servers = map (builtins.replaceStrings [ ".ovpn" "_" ] [ "" "-" ]) + (builtins.filter (name: !(isNull (builtins.match ".+ovpn$" name))) + (builtins.attrNames (builtins.readDir resources))); + make_server = (name: { + name = name; + value = { + autoStart = false; + authUserPass = config.services.pia.authUserPass; + config = "config ${resources}/${name}.ovpn"; + updateResolvConf = true; + }; + }); + in builtins.listToAttrs (map make_server servers); + }; + }; }; } |