From 650492b4938656cf4abfdcfc2af45f413b31c54d Mon Sep 17 00:00:00 2001 From: Chris Toph Date: Tue, 3 Sep 2024 15:33:55 -0400 Subject: [PATCH] Configured home-manager and nextcloud not really working yet --- .gitignore | 1 + flake.nix | 18 ++-- home-manager/cloud.png | Bin 0 -> 18342 bytes home-manager/cloud.txt | 7 ++ home-manager/fastfetch.nix | 96 +++++++++++++++++ home-manager/fish.nix | 204 +++++++++++++++++++++++++++++++++++++ home-manager/home.nix | 36 +++++++ nextcloud/nextcloud.nix | 88 ++++++---------- nixos/configuration.nix | 24 ++++- 9 files changed, 408 insertions(+), 66 deletions(-) create mode 100644 .gitignore create mode 100644 home-manager/cloud.png create mode 100644 home-manager/cloud.txt create mode 100644 home-manager/fastfetch.nix create mode 100644 home-manager/fish.nix create mode 100644 home-manager/home.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c75cd83 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +nextcloud/adminpass diff --git a/flake.nix b/flake.nix index 57fdf9f..0084a64 100644 --- a/flake.nix +++ b/flake.nix @@ -3,29 +3,29 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; - nextcloud29 = { - url = "github:nix-unstable/nextcloud"; + home-manager = { + url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, nixpkgs, nextcloud29, ... }: + outputs = { self, nixpkgs, home-manager, ... }: let system = "x86_64-linux"; lib = nixpkgs.lib; pkgs = nixpkgs.legacyPackages.${system}; in { nixosConfigurations = { - nix = lib.nixosSystem { + cloud = lib.nixosSystem { inherit system; modules = [ ./nixos/configuration.nix ]; }; }; - nixosConfigurations = { - nix = lib.nixosSystem { - inherit system; - modules = [ ./nextcloud/nextcloud.nix ]; - }; + homeConfigurations = { + toph = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ ./home-manager/home.nix ]; + }; }; }; } diff --git a/home-manager/cloud.png b/home-manager/cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..3ad02e25c25ab5bef59223dc38c7fea4058ebef4 GIT binary patch literal 18342 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 O7(8A5T-G@yGywoHOvXY0 literal 0 HcmV?d00001 diff --git a/home-manager/cloud.txt b/home-manager/cloud.txt new file mode 100644 index 0000000..040cb3d --- /dev/null +++ b/home-manager/cloud.txt @@ -0,0 +1,7 @@ +[?25l ▌▌▌▌▌▌  + ▌▌▌▌▌ ▌░▌ ▌▒▌ ▌▌▌▌▌  +▌░▌ ▌░▌░▌ ▌░▌░▌ ▌░▌ +▌░▌ ▌░▌░▌ ▌░▌░▌ ▌░▌ + ▌▌▌▌▌ ▌░▌ ▌░▌ ▌▌▌▌▌  + ▌▌▌▌▌▌  +[?25h \ No newline at end of file diff --git a/home-manager/fastfetch.nix b/home-manager/fastfetch.nix new file mode 100644 index 0000000..566ffa6 --- /dev/null +++ b/home-manager/fastfetch.nix @@ -0,0 +1,96 @@ +{ pkgs, ... }: +# progams./fastfetch = +{ + enable = true; + settings = { + logo = { + # Created with Chafa + # chafa -s 26x13 -w 9 --symbols vhalf --view-size 26x13 cloud.png > cloud.txt + source = '' + + + [?25l ▌▌▌▌▌▌  + ▌▌▌▌▌ ▌░▌ ▌▒▌ ▌▌▌▌▌  + ▌░▌ ▌░▌░▌ ▌░▌░▌ ▌░▌ + ▌░▌ ▌░▌░▌ ▌░▌░▌ ▌░▌ + ▌▌▌▌▌ ▌░▌ ▌░▌ ▌▌▌▌▌  + ▌▌▌▌▌▌  + [?25h + + +''; + type = "data"; + position = "left"; + padding = { + top = 0; + }; + }; + display = { + separator = " "; + }; + modules = [ + { + key = "╭───────────╮"; + type = "custom"; + } + { + key = "│ {#31} user {#keys}│"; + type = "title"; + format = "{user-name}"; + } + { + key = "│ {#32}󰇅 host {#keys}│"; + type = "title"; + format = "{host-name}"; + } + { + key = "│ {#33}󰅐 uptime {#keys}│"; + type = "uptime"; + } + { + key = "│ {#34}{icon} distro {#keys}│"; + type = "os"; + } + { + key = "│ {#36}󰇄 desktop {#keys}│"; + type = "de"; + } + { + key = "│ {#32} shell {#keys}│"; + type = "shell"; + } + { + key = "│ {#33}󰍛 cpu {#keys}│"; + type = "cpu"; + showPeCoreCount = true; + } + { + key = "│ {#34}󰉉 disk {#keys}│"; + type = "disk"; + folders = "/"; + } + { + key = "│ {#35} memory {#keys}│"; + type = "memory"; + } + { + key = "│ {#36}󰩟 network {#keys}│"; + type = "localip"; + format = "{ipv4} ({ifname})"; + } + { + key = "├───────────┤"; + type = "custom"; + } + { + key = "│ {#39} colors {#keys}│"; + type = "colors"; + symbol = "circle"; + } + { + key = "╰───────────╯"; + type = "custom"; + } + ]; + }; +} \ No newline at end of file diff --git a/home-manager/fish.nix b/home-manager/fish.nix new file mode 100644 index 0000000..2621e45 --- /dev/null +++ b/home-manager/fish.nix @@ -0,0 +1,204 @@ +{ pkgs, ... }: +# progams.fish = +{ + enable = true; + interactiveShellInit = '' + set -U __fish_initialized 3400 + set -U _tide_left_items pwd\x1egit\x1enewline\x1echaracter + set -U _tide_prompt_92037 \x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x40PWD\x40\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x20\x1e\x1b\x5b38\x3b5\x3b76m\u276f\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b5\x3b180mtoph\x40nix\x1b\x5b38\x3b5\x3b246m\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b5\x3b66m11\x3a43\x3a49\x20PM\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm + set -U _tide_right_items status\x1ecmd_duration\x1econtext\x1ejobs\x1enix_shell\x1etime + set -U fish_color_autosuggestion brblack + set -U fish_color_cancel \x2dr + set -U fish_color_command blue + set -U fish_color_comment red + set -U fish_color_cwd green + set -U fish_color_cwd_root red + set -U fish_color_end green + set -U fish_color_error brred + set -U fish_color_escape brcyan + set -U fish_color_history_current \x2d\x2dbold + set -U fish_color_host normal + set -U fish_color_host_remote yellow + set -U fish_color_normal normal + set -U fish_color_operator brcyan + set -U fish_color_param cyan + set -U fish_color_quote yellow + set -U fish_color_redirection cyan\x1e\x2d\x2dbold + set -U fish_color_search_match bryellow\x1e\x2d\x2dbackground\x3dbrblack + set -U fish_color_selection white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack + set -U fish_color_status red + set -U fish_color_user brgreen + set -U fish_color_valid_path \x2d\x2dunderline + set -U fish_key_bindings fish_default_key_bindings + set -U fish_pager_color_completion normal + set -U fish_pager_color_description yellow\x1e\x2di + set -U fish_pager_color_prefix normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline + set -U fish_pager_color_progress brwhite\x1e\x2d\x2dbackground\x3dcyan + set -U fish_pager_color_selected_background \x2dr + set -U tide_aws_bg_color normal + set -U tide_aws_color FF9900 + set -U tide_aws_icon \uf270 + set -U tide_character_color 5FD700 + set -U tide_character_color_failure FF0000 + set -U tide_character_icon \u276f + set -U tide_character_vi_icon_default \u276e + set -U tide_character_vi_icon_replace \u25b6 + set -U tide_character_vi_icon_visual V + set -U tide_cmd_duration_bg_color normal + set -U tide_cmd_duration_color 87875F + set -U tide_cmd_duration_decimals 0 + set -U tide_cmd_duration_icon \x1d + set -U tide_cmd_duration_threshold 3000 + set -U tide_context_always_display false + set -U tide_context_bg_color normal + set -U tide_context_color_default D7AF87 + set -U tide_context_color_root D7AF00 + set -U tide_context_color_ssh D7AF87 + set -U tide_context_hostname_parts 1 + set -U tide_crystal_bg_color normal + set -U tide_crystal_color FFFFFF + set -U tide_crystal_icon \ue62f + set -U tide_direnv_bg_color normal + set -U tide_direnv_bg_color_denied normal + set -U tide_direnv_color D7AF00 + set -U tide_direnv_color_denied FF0000 + set -U tide_direnv_icon \u25bc + set -U tide_distrobox_bg_color normal + set -U tide_distrobox_color FF00FF + set -U tide_distrobox_icon \U000f01a7 + set -U tide_docker_bg_color normal + set -U tide_docker_color 2496ED + set -U tide_docker_default_contexts default\x1ecolima + set -U tide_docker_icon \uf308 + set -U tide_elixir_bg_color normal + set -U tide_elixir_color 4E2A8E + set -U tide_elixir_icon \ue62d + set -U tide_gcloud_bg_color normal + set -U tide_gcloud_color 4285F4 + set -U tide_gcloud_icon \U000f02ad + set -U tide_git_bg_color normal + set -U tide_git_bg_color_unstable normal + set -U tide_git_bg_color_urgent normal + set -U tide_git_color_branch 5FD700 + set -U tide_git_color_conflicted FF0000 + set -U tide_git_color_dirty D7AF00 + set -U tide_git_color_operation FF0000 + set -U tide_git_color_staged D7AF00 + set -U tide_git_color_stash 5FD700 + set -U tide_git_color_untracked 00AFFF + set -U tide_git_color_upstream 5FD700 + set -U tide_git_icon \x1d + set -U tide_git_truncation_length 24 + set -U tide_git_truncation_strategy \x1d + set -U tide_go_bg_color normal + set -U tide_go_color 00ACD7 + set -U tide_go_icon \ue627 + set -U tide_java_bg_color normal + set -U tide_java_color ED8B00 + set -U tide_java_icon \ue256 + set -U tide_jobs_bg_color normal + set -U tide_jobs_color 5FAF00 + set -U tide_jobs_icon \uf013 + set -U tide_jobs_number_threshold 1000 + set -U tide_kubectl_bg_color normal + set -U tide_kubectl_color 326CE5 + set -U tide_kubectl_icon \U000f10fe + set -U tide_left_prompt_frame_enabled false + set -U tide_left_prompt_items pwd\x1egit\x1enewline\x1echaracter + set -U tide_left_prompt_prefix + set -U tide_left_prompt_separator_diff_color \x20 + set -U tide_left_prompt_separator_same_color \x20 + set -U tide_left_prompt_suffix \x20 + set -U tide_nix_shell_bg_color normal + set -U tide_nix_shell_color 7EBAE4 + set -U tide_nix_shell_icon \uf313 + set -U tide_node_bg_color normal + set -U tide_node_color 44883E + set -U tide_node_icon \ue24f + set -U tide_os_bg_color normal + set -U tide_os_color normal + set -U tide_os_icon \uf313 + set -U tide_php_bg_color normal + set -U tide_php_color 617CBE + set -U tide_php_icon \ue608 + set -U tide_private_mode_bg_color normal + set -U tide_private_mode_color FFFFFF + set -U tide_private_mode_icon \U000f05f9 + set -U tide_prompt_add_newline_before false + set -U tide_prompt_color_frame_and_connection 585858 + set -U tide_prompt_color_separator_same_color 949494 + set -U tide_prompt_icon_connection \u00b7 + set -U tide_prompt_min_cols 34 + set -U tide_prompt_pad_items false + set -U tide_prompt_transient_enabled true + set -U tide_pulumi_bg_color normal + set -U tide_pulumi_color F7BF2A + set -U tide_pulumi_icon \uf1b2 + set -U tide_pwd_bg_color normal + set -U tide_pwd_color_anchors 00AFFF + set -U tide_pwd_color_dirs 0087AF + set -U tide_pwd_color_truncated_dirs 8787AF + set -U tide_pwd_icon \x1d + set -U tide_pwd_icon_home \x1d + set -U tide_pwd_icon_unwritable \uf023 + set -U tide_pwd_markers \x2ebzr\x1e\x2ecitc\x1e\x2egit\x1e\x2ehg\x1e\x2enode\x2dversion\x1e\x2epython\x2dversion\x1e\x2eruby\x2dversion\x1e\x2eshorten_folder_marker\x1e\x2esvn\x1e\x2eterraform\x1eCargo\x2etoml\x1ecomposer\x2ejson\x1eCVS\x1ego\x2emod\x1epackage\x2ejson\x1ebuild\x2ezig + set -U tide_python_bg_color normal + set -U tide_python_color 00AFAF + set -U tide_python_icon \U000f0320 + set -U tide_right_prompt_frame_enabled false + set -U tide_right_prompt_items status\x1ecmd_duration\x1econtext\x1ejobs\x1edirenv\x1enode\x1epython\x1erustc\x1ejava\x1ephp\x1epulumi\x1eruby\x1ego\x1egcloud\x1ekubectl\x1edistrobox\x1etoolbox\x1eterraform\x1eaws\x1enix_shell\x1ecrystal\x1eelixir\x1ezig\x1etime + set -U tide_right_prompt_prefix \x20 + set -U tide_right_prompt_separator_diff_color \x20 + set -U tide_right_prompt_separator_same_color \x20 + set -U tide_right_prompt_suffix + set -U tide_ruby_bg_color normal + set -U tide_ruby_color B31209 + set -U tide_ruby_icon \ue23e + set -U tide_rustc_bg_color normal + set -U tide_rustc_color F74C00 + set -U tide_rustc_icon \ue7a8 + set -U tide_shlvl_bg_color normal + set -U tide_shlvl_color d78700 + set -U tide_shlvl_icon \uf120 + set -U tide_shlvl_threshold 1 + set -U tide_status_bg_color normal + set -U tide_status_bg_color_failure normal + set -U tide_status_color 5FAF00 + set -U tide_status_color_failure D70000 + set -U tide_status_icon \u2714 + set -U tide_status_icon_failure \u2718 + set -U tide_terraform_bg_color normal + set -U tide_terraform_color 844FBA + set -U tide_terraform_icon \U000f1062 + set -U tide_time_bg_color normal + set -U tide_time_color 5F8787 + set -U tide_time_format \x25r + set -U tide_toolbox_bg_color normal + set -U tide_toolbox_color 613583 + set -U tide_toolbox_icon \ue24f + set -U tide_vi_mode_bg_color_default normal + set -U tide_vi_mode_bg_color_insert normal + set -U tide_vi_mode_bg_color_replace normal + set -U tide_vi_mode_bg_color_visual normal + set -U tide_vi_mode_color_default 949494 + set -U tide_vi_mode_color_insert 87AFAF + set -U tide_vi_mode_color_replace 87AF87 + set -U tide_vi_mode_color_visual FF8700 + set -U tide_vi_mode_icon_default D + set -U tide_vi_mode_icon_insert I + set -U tide_vi_mode_icon_replace R + set -U tide_vi_mode_icon_visual V + set -U tide_zig_bg_color normal + set -U tide_zig_color F7A41D + set -U tide_zig_icon \ue6a9 + + set fish_greeting # Disable greeting + + fastfetch + ''; + plugins = [ + # Enable a plugin (here grc for colorized command output) from nixpkgs + { name = "grc"; src = pkgs.fishPlugins.grc.src; } + { name = "tide"; src = pkgs.fishPlugins.tide.src; } + ]; +} diff --git a/home-manager/home.nix b/home-manager/home.nix new file mode 100644 index 0000000..0142908 --- /dev/null +++ b/home-manager/home.nix @@ -0,0 +1,36 @@ +{ pkgs, ... }: + +{ + home.username = "toph"; + home.homeDirectory = "/home/toph"; + home.stateVersion = "24.05"; + + # Packages + home.packages = with pkgs; [ + fastfetch + fish + fishPlugins.grc + fishPlugins.tide + grc + ]; + + home.file = { + # ".config" = { + # recursive = true; + # source = ../.config; + # }; + }; + + home.sessionVariables = { + EDITOR = "micro"; + VISUAL = "micro"; + XDG_CONFIG_HOME = "$HOME/.config"; + }; + + # Programs and Services + programs.fish = import ./fish.nix { inherit pkgs; }; + programs.fastfetch = import ./fastfetch.nix { inherit pkgs; }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; +} diff --git a/nextcloud/nextcloud.nix b/nextcloud/nextcloud.nix index d40dedc..cc30bcb 100644 --- a/nextcloud/nextcloud.nix +++ b/nextcloud/nextcloud.nix @@ -1,64 +1,42 @@ -{ self, config, lib, pkgs, ... }: +{ config, pkgs, ... }: { - services = { - nginx.virtualHosts = { - "cloud.ryot.foo" = { - forceSSL = true; - enableACME = true; - }; + enable = true; + hostName = "cloud.ryot.foo"; - "office.ryot.foo" = { - forceSSL = true; - enableACME = true; - }; - }; + # Need to manually increment with every major upgrade. + package = pkgs.nextcloud29; - nextcloud = { - enable = true; - hostName = "cloud.ryot.foo"; + # Let NixOS install and configure the database automatically. + database.createLocally = true; - # Need to manually increment with every major upgrade. - package = pkgs.nextcloud27; + # Let NixOS install and configure Redis caching automatically. + configureRedis = true; - # Let NixOS install and configure the database automatically. - database.createLocally = true; + # Increase the maximum file upload size to avoid problems uploading videos. + maxUploadSize = "16G"; + https = true; - # Let NixOS install and configure Redis caching automatically. - configureRedis = true; + autoUpdateApps.enable = true; + extraAppsEnable = true; + extraApps = with config.services.nextcloud.package.packages.apps; { + # https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/nextcloud/packages/nextcloud-apps.json + inherit calendar contacts mail notes tasks; + # inherit calendar contacts mail notes onlyoffice tasks; - # Increase the maximum file upload size to avoid problems uploading videos. - maxUploadSize = "16G"; - https = true; - enableBrokenCiphersForSSE = false; - - autoUpdateApps.enable = true; - extraAppsEnable = true; - extraApps = with config.services.nextcloud.package.packages.apps; { - # List of apps we want to install and are already packaged in - # https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/nextcloud/packages/nextcloud-apps.json - inherit calendar contacts mail notes onlyoffice tasks; - - # Custom app installation example. - cookbook = pkgs.fetchNextcloudApp rec { - url = - "https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz"; - sha256 = "sha256-XgBwUr26qW6wvqhrnhhhhcN4wkI+eXDHnNSm1HDbP6M="; - }; - }; - - config = { - overwriteProtocol = "https"; - defaultPhoneRegion = "PT"; - dbtype = "pgsql"; - adminuser = "admin"; - adminpassFile = "/path/to/nextcloud-admin-pass"; - }; - }; - - onlyoffice = { - enable = true; - hostname = "onlyoffice.example.com"; - }; + # Custom app installation example. + # cookbook = pkgs.fetchNextcloudApp rec { + # url = + # "https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz"; + # sha256 = "sha256-XgBwUr26qW6wvqhrnhhhhcN4wkI+eXDHnNSm1HDbP6M="; + # }; }; -} + + config = { + overwriteprotocol = "https"; + default_phone_region = "US"; + dbtype = "pgsql"; + adminuser = "admin"; + adminpassFile = "./adminpass"; + }; +} \ No newline at end of file diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 8682ef5..63855c1 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -1,6 +1,7 @@ { modulesPath, config, pkgs, ... }: let hostname = "cloud"; + user = "toph"; password = "[REDACTED]"; timeZone = "America/New_York"; defaultLocale = "en_US.UTF-8"; @@ -44,14 +45,28 @@ in { # USERS users = { mutableUsers = false; - users.root = { + users."${user}" = { + isNormalUser = true; password = password; + extraGroups = [ "wheel" ]; + shell = pkgs.fish; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIClZstYoT64zHnGfE7LMYNiQPN5/gmCt382lC+Ji8lrH PVE" ]; }; }; + # Enable passwordless sudo. + security.sudo.extraRules= [ + { users = [ user ]; + commands = [ + { command = "ALL" ; + options= [ "NOPASSWD" ]; + } + ]; + } + ]; + # SYSTEM PACKAGES environment.systemPackages = with pkgs; [ git @@ -64,6 +79,11 @@ in { # PROGRAMS & SERVICES programs.ssh.startAgent = true; + services.nextcloud = import ../nextcloud/nextcloud.nix { inherit pkgs config; }; + + # Shells + environment.shells = with pkgs; [ bash fish ]; + programs.fish.enable = true; # OpenSSH service configuration. services.openssh = { @@ -72,7 +92,7 @@ in { AllowUsers = null; # everyone PasswordAuthentication = false; KbdInteractiveAuthentication = false; - PermitRootLogin = "yes"; + PermitRootLogin = "no"; }; };