From f9e2ad7321b50ebb72ba87c3942dc487ad65bb2d Mon Sep 17 00:00:00 2001 From: cnst Date: Sun, 23 Jun 2024 16:37:06 +0200 Subject: [PATCH] restructuring --- flake.lock | 175 +++++++++++++++++++++++++++---- flake.nix | 5 + home-manager/firefox/default.nix | 12 +++ home-manager/home.nix | 5 +- nixos/configuration.nix | 2 +- nixos/xdg/default.nix | 35 +++++++ 6 files changed, 212 insertions(+), 22 deletions(-) create mode 100644 home-manager/firefox/default.nix create mode 100644 nixos/xdg/default.nix diff --git a/flake.lock b/flake.lock index 3d273f1f..1d6d145d 100644 --- a/flake.lock +++ b/flake.lock @@ -1,17 +1,56 @@ { "nodes": { - "flake-compat": { - "flake": false, + "cachix": { "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "lastModified": 1635350005, + "narHash": "sha256-tAMJnUwfaDEB2aa31jGcu7R7bzGELM9noc91L2PbVjg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "1c1f5649bb9c1b0d98637c8c365228f57126f361", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "nixos", + "ref": "nixos-20.09", + "repo": "nixpkgs", + "type": "github" + } + }, + "firefox-nightly": { + "inputs": { + "cachix": "cachix", + "flake-compat": "flake-compat", + "lib-aggregate": "lib-aggregate", + "mozilla": "mozilla", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1719145560, + "narHash": "sha256-LLg4I+NSx94iHsJMy1AK+UlOa0QRmzMxBmrKj2iVhtc=", + "owner": "nix-community", + "repo": "flake-firefox-nightly", + "rev": "b42f1c6122099e4be0e5f78d7b127954a7e95e3f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flake-firefox-nightly", + "type": "github" + } + }, + "flake-compat": { + "locked": { + "lastModified": 1717312683, + "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=", + "owner": "nix-community", + "repo": "flake-compat", + "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea", + "type": "github" + }, + "original": { + "owner": "nix-community", "repo": "flake-compat", "type": "github" } @@ -48,6 +87,22 @@ "type": "github" } }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -90,9 +145,27 @@ "type": "indirect" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "gitignore": "gitignore", "nixpkgs": [ "neovim-nightly-overlay", @@ -181,9 +254,44 @@ "type": "github" } }, + "lib-aggregate": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1719144654, + "narHash": "sha256-3eKm5xwc2M4WJ1wQ4POID8jpDARWXEAMcuh1xDItJl8=", + "owner": "nix-community", + "repo": "lib-aggregate", + "rev": "7f1a89b58b9d3ba655a381f8ab1806a8ccdfb03a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "lib-aggregate", + "type": "github" + } + }, + "mozilla": { + "flake": false, + "locked": { + "lastModified": 1704373101, + "narHash": "sha256-+gi59LRWRQmwROrmE1E2b3mtocwueCQqZ60CwLG+gbg=", + "owner": "mozilla", + "repo": "nixpkgs-mozilla", + "rev": "9b11a87c0cc54e308fa83aac5b4ee1816d5418a2", + "type": "github" + }, + "original": { + "owner": "mozilla", + "repo": "nixpkgs-mozilla", + "type": "github" + } + }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", @@ -193,11 +301,11 @@ ] }, "locked": { - "lastModified": 1718935491, - "narHash": "sha256-Dk+ZTVu3CuVv4UPbif3GmR7eT3zAE/mQ+3UUvFHknKE=", + "lastModified": 1719151941, + "narHash": "sha256-6DlzbOUC14DN3ChG6YDfHp3dlyRunlCuNIGiJ0/j0SU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "cc2d148e283e05cce751c5cc50ce38bbc0589f61", + "rev": "8fbf3ad99db5af164230b7965de5572ce238c0da", "type": "github" }, "original": { @@ -209,11 +317,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1718890629, - "narHash": "sha256-TLJ8xTHKgnbsMnlmfQ7eF5+aafjo5PlFQFF3mkrIsBs=", + "lastModified": 1719082813, + "narHash": "sha256-C2stSASvUp0XHljA6iZfDFHSH0JIDJ0g7g0uQUIHU2E=", "owner": "neovim", "repo": "neovim", - "rev": "0e3e1e6b6d8370f1fcc9887d5cb931b131450a1c", + "rev": "6c3f7e7e27a0ffcf6d58dc1f5ad2fce7e59a2d88", "type": "github" }, "original": { @@ -238,6 +346,21 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1719103869, + "narHash": "sha256-kbTUy+/lfjUrMfV7JkTJwxowsFhi9Tb3BdbiOcIGcsc=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "f820613f886cd1aa4bcfd1dbaa6c83c8a3dcd863", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1718835956, @@ -256,17 +379,18 @@ }, "root": { "inputs": { + "firefox-nightly": "firefox-nightly", "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", "solaar": "solaar", - "systems": "systems" + "systems": "systems_2" } }, "solaar": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "nixpkgs": [ "nixpkgs" ] @@ -285,6 +409,21 @@ } }, "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", diff --git a/flake.nix b/flake.nix index baf7b00c..c47d6c1e 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,11 @@ url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; + # Firefox Nightly + firefox-nightly = { + url = "github:nix-community/flake-firefox-nightly"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # Home manager home-manager = { url = "github:nix-community/home-manager"; diff --git a/home-manager/firefox/default.nix b/home-manager/firefox/default.nix new file mode 100644 index 00000000..ba3b060e --- /dev/null +++ b/home-manager/firefox/default.nix @@ -0,0 +1,12 @@ +{ + programs.firefox = { + enable = true; + }; + + xdg.mimeApps.defaultApplications = { + "text/html" = [ "firefox.desktop" ]; + "text/xml" = [ "firefox.desktop" ]; + "x-scheme-handler/http" = [ "firefox.desktop" ]; + "x-scheme-handler/https" = [ "firefox.desktop" ]; + }; +} diff --git a/home-manager/home.nix b/home-manager/home.nix index 5e6703fb..c8ba072b 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -14,6 +14,7 @@ ./git ./gtk ./shell + ./firefox ]; nixpkgs = { @@ -48,13 +49,12 @@ # programs.neovim.enable = true; home.packages = with pkgs; [ # Desktop - firefox alacritty wl-clipboard dunst keepassxc ranger - webcord-vencord + webcord xfce.thunar xfce.thunar-volman xfce.thunar-archive-plugin @@ -64,7 +64,6 @@ wireguard-tools wpa_supplicant ntfs3g - xdg-utils kdePackages.polkit-kde-agent-1 networkmanagerapplet blueman diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 5150c68e..316242be 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -19,7 +19,6 @@ # You can also split up your configuration and import pieces of it here: # ./users.nix - # Import your generated (nixos-generate-config) hardware configuration ./hardware-configuration.nix ]; @@ -121,6 +120,7 @@ pkgs.unzip pkgs.p7zip pkgs.unrar + pkgs.xdg-utils ]; localBinInPath = true; }; diff --git a/nixos/xdg/default.nix b/nixos/xdg/default.nix new file mode 100644 index 00000000..f4638f35 --- /dev/null +++ b/nixos/xdg/default.nix @@ -0,0 +1,35 @@ +{ + pkgs, + config, + lib, + ... +}: + +{ + config = { + # see profiles/desktop-.nix for xdg-portal stuff + + home-manager.users.cnst = + { pkgs, ... }: + { + home.packages = + with pkgs; + [ xdg-user-dirs ] + ++ (lib.optionals (pkgs.stdenv.hostPlatform.system != "riscv64-linux") [ xdg-utils ]); + xdg = { + enable = true; + userDirs = { + enable = true; + desktop = "$HOME/desktop"; + documents = "$HOME/documents"; + download = "$HOME/downloads"; + music = "$HOME/documents/music"; + pictures = "$HOME/documents/images"; + publicShare = "$HOME/documents/share"; + templates = "$HOME/documents/templates"; + videos = "$HOME/documents/videos"; + }; + }; + }; + }; +}