Skip to content

Commit

Permalink
✨ Restructure + flake parts
Browse files Browse the repository at this point in the history
  • Loading branch information
MathieuDR committed Nov 8, 2024
1 parent 85ae07e commit 31eea00
Show file tree
Hide file tree
Showing 34 changed files with 253 additions and 108 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Sources

* [fufexan/dotfiles](https://github.com/fufexan/dotfiles/)
2 changes: 2 additions & 0 deletions configuration/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
}
112 changes: 86 additions & 26 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@
inputs.nixpkgs.follows = "nixpkgs";
};

flake-utils = {
url = "github:numtide/flake-utils";
inputs.systems.follows = "systems";
};

flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};

catppuccin.url = "github:catppuccin/nix";
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
Expand All @@ -27,34 +37,84 @@
};
};

outputs = {
self,
nixpkgs,
home-manager,
...
} @ inputs: let
inherit (self) outputs;
in {
nixosConfigurations = {
"nixos" = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs;};
modules = [
./configuration.nix
];
};
};
outputs = inputs:
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
systems = ["x86_64-linux"];

imports = [
./hosts
./home-manager
# ./modules
./pre-commit-hooks.nix
];

homeConfigurations = {
"Thieu@nixos" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = {
inherit inputs;
perSystem = {
config,
pkgs,
...
}: {
devShells.default = pkgs.mkShell {
packages = [
pkgs.alejandra
pkgs.git
pkgs.nodePackages.prettier
config.packages.repl
];
name = "dots";
DIRENV_LOG_FORMAT = "";
shellHook = ''
${config.pre-commit.installationScript}
'';
};
modules = [
inputs.catppuccin.homeManagerModules.catppuccin
./home.nix
];

formatter = pkgs.alejandra;
};
};
};
}
# outputs = {
# self,
# nixpkgs,
# home-manager,
# ...
# } @ inputs: let
# inherit (self) outputs;
# in {
# nixosConfigurations = {
# "anchor" = nixpkgs.lib.nixosSystem {
# specialArgs = {inherit inputs;};
# modules = [
# ./configuration.nix
# ];
# };
#
# "wanderer" = nixpkgs.lib.nixosSystem {
# specialArgs = {inherit inputs;};
# modules = [];
# };
# };
#
# homeConfigurations = {
# "thieu@anchor" = home-manager.lib.homeManagerConfiguration {
# pkgs = nixpkgs.legacyPackages.x86_64-linux;
# extraSpecialArgs = {
# inherit inputs outputs;
# };
# modules = [
# inputs.catppuccin.homeManagerModules.catppuccin
# ./home.nix
# ];
# };
#
# "mathieu@wanderer" = home-manager.lib.homeManagerConfiguration {
# pkgs = nixpkgs.legacyPackages.x86_64-linux;
# extraSpecialArgs = {
# inherit inputs;
# };
# modules = [
# inputs.catppuccin.homeManagerModules.catppuccin
# ./home.nix
# ];
# };
# };
# };
# }
86 changes: 86 additions & 0 deletions home-manager-legacy/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{
imports = [
./theming.nix
./hyprland.nix
./hypridle.nix
./hyprlock.nix
./waybar.nix
./rofi.nix
./shell.nix
./kitty.nix
./games.nix
./scripts
./spicetify.nix
];

# [Default Applications]
# x-scheme-handler/http=floorp.desktop
# x-scheme-handler/https=floorp.desktop
# x-scheme-handler/chrome=floorp.desktop
# text/html=floorp.desktop
# application/x-extension-htm=floorp.desktop
# application/x-extension-html=floorp.desktop
# application/x-extension-shtml=floorp.desktop
# application/xhtml+xml=floorp.desktop
# application/x-extension-xhtml=floorp.desktop
# application/x-extension-xht=floorp.desktop
# application/pdf=floorp.desktop
# x-scheme-handler/discord-409416265891971072=discord-409416265891971072.desktop
# application/x-compressed-tar=thunar.desktop
#
# [Added Associations]
# x-scheme-handler/http=floorp.desktop;firefox.desktop;
# x-scheme-handler/https=floorp.desktop;firefox.desktop;
# x-scheme-handler/chrome=floorp.desktop;firefox.desktop;
# text/html=floorp.desktop;firefox.desktop;
# application/x-extension-htm=floorp.desktop;firefox.desktop;
# application/x-extension-html=floorp.desktop;firefox.desktop;
# application/x-extension-shtml=floorp.desktop;firefox.desktop;
# application/xhtml+xml=floorp.desktop;firefox.desktop;
# application/x-extension-xhtml=floorp.desktop;firefox.desktop;
# application/x-extension-xht=floorp.desktop;firefox.desktop;
# text/plain=org.gnome.gedit.desktop;
# application/pdf=floorp.desktop;
# application/x-compressed-tar=thunar.desktop;
# application/vnd.oasis.opendocument.text=writer.desktop;
# application/vnd.openxmlformats-officedocument.wordprocessingml.document=writer.desktop;

xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = ["floorp.desktop"];
"x-scheme-handler/https" = ["floorp.desktop"];
"x-scheme-handler/chrome" = ["floorp.desktop"];
"text/html" = ["floorp.desktop"];
"application/x-extension-htm" = ["floorp.desktop"];
"application/x-extension-html" = ["floorp.desktop"];
"application/x-extension-shtml" = ["floorp.desktop"];
"application/xhtml+xml" = ["floorp.desktop"];
"application/x-extension-xhtml" = ["floorp.desktop"];
"application/x-extension-xht" = ["floorp.desktop"];
"application/pdf" = ["okularApplication_pdf.desktop" "floorp.desktop"];
"x-scheme-handler/discord-409416265891971072" = ["discord-409416265891971072.desktop"];
"x-scheme-handler/discord" = ["discord.desktop"];
"x-scheme-handler/slack" = ["slack.desktop"];
"application/x-compressed-tar" = ["thunar.desktop"];
};

associations.added = {
"x-scheme-handler/http" = ["floorp.desktop" "firefox.desktop"];
"x-scheme-handler/https" = ["floorp.desktop" "firefox.desktop"];
"x-scheme-handler/chrome" = ["floorp.desktop" "firefox.desktop"];
"text/html" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-htm" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-html" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-shtml" = ["floorp.desktop" "firefox.desktop"];
"application/xhtml+xml" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-xhtml" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-xht" = ["floorp.desktop" "firefox.desktop"];
"text/plain" = ["org.gnome.gedit.desktop"];
"application/pdf" = ["okularApplication_pdf.desktop" "floorp.desktop"];
"application/x-compressed-tar" = ["thunar.desktop"];
"application/vnd.oasis.opendocument.text" = ["writer.desktop"];
"application/vnd.openxmlformats-officedocument.wordprocessingml.document" = ["writer.desktop"];
};
};
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
5 changes: 5 additions & 0 deletions home-manager/anchor/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
imports = [
/home.nix
];
}
3 changes: 2 additions & 1 deletion home.nix → home-manager/anchor/home.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
self,
pkgs,
lib,
inputs,
Expand All @@ -12,7 +13,7 @@
};

imports = [
./home-manager
"${self}/home-manager-legacy"
];

home = {
Expand Down
99 changes: 18 additions & 81 deletions home-manager/default.nix
Original file line number Diff line number Diff line change
@@ -1,86 +1,23 @@
{
imports = [
./theming.nix
./hyprland.nix
./hypridle.nix
./hyprlock.nix
./waybar.nix
./rofi.nix
./shell.nix
./kitty.nix
./games.nix
./scripts
./spicetify.nix
];
self,
nixpkgs,
inputs,
...
}: {
flake.homeConfiguration = let
# shorten paths
inherit (inputs.home-manager.lib) homeManagerConfiguration;

# [Default Applications]
# x-scheme-handler/http=floorp.desktop
# x-scheme-handler/https=floorp.desktop
# x-scheme-handler/chrome=floorp.desktop
# text/html=floorp.desktop
# application/x-extension-htm=floorp.desktop
# application/x-extension-html=floorp.desktop
# application/x-extension-shtml=floorp.desktop
# application/xhtml+xml=floorp.desktop
# application/x-extension-xhtml=floorp.desktop
# application/x-extension-xht=floorp.desktop
# application/pdf=floorp.desktop
# x-scheme-handler/discord-409416265891971072=discord-409416265891971072.desktop
# application/x-compressed-tar=thunar.desktop
#
# [Added Associations]
# x-scheme-handler/http=floorp.desktop;firefox.desktop;
# x-scheme-handler/https=floorp.desktop;firefox.desktop;
# x-scheme-handler/chrome=floorp.desktop;firefox.desktop;
# text/html=floorp.desktop;firefox.desktop;
# application/x-extension-htm=floorp.desktop;firefox.desktop;
# application/x-extension-html=floorp.desktop;firefox.desktop;
# application/x-extension-shtml=floorp.desktop;firefox.desktop;
# application/xhtml+xml=floorp.desktop;firefox.desktop;
# application/x-extension-xhtml=floorp.desktop;firefox.desktop;
# application/x-extension-xht=floorp.desktop;firefox.desktop;
# text/plain=org.gnome.gedit.desktop;
# application/pdf=floorp.desktop;
# application/x-compressed-tar=thunar.desktop;
# application/vnd.oasis.opendocument.text=writer.desktop;
# application/vnd.openxmlformats-officedocument.wordprocessingml.document=writer.desktop;

xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = ["floorp.desktop"];
"x-scheme-handler/https" = ["floorp.desktop"];
"x-scheme-handler/chrome" = ["floorp.desktop"];
"text/html" = ["floorp.desktop"];
"application/x-extension-htm" = ["floorp.desktop"];
"application/x-extension-html" = ["floorp.desktop"];
"application/x-extension-shtml" = ["floorp.desktop"];
"application/xhtml+xml" = ["floorp.desktop"];
"application/x-extension-xhtml" = ["floorp.desktop"];
"application/x-extension-xht" = ["floorp.desktop"];
"application/pdf" = ["okularApplication_pdf.desktop" "floorp.desktop"];
"x-scheme-handler/discord-409416265891971072" = ["discord-409416265891971072.desktop"];
"x-scheme-handler/discord" = ["discord.desktop"];
"x-scheme-handler/slack" = ["slack.desktop"];
"application/x-compressed-tar" = ["thunar.desktop"];
};

associations.added = {
"x-scheme-handler/http" = ["floorp.desktop" "firefox.desktop"];
"x-scheme-handler/https" = ["floorp.desktop" "firefox.desktop"];
"x-scheme-handler/chrome" = ["floorp.desktop" "firefox.desktop"];
"text/html" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-htm" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-html" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-shtml" = ["floorp.desktop" "firefox.desktop"];
"application/xhtml+xml" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-xhtml" = ["floorp.desktop" "firefox.desktop"];
"application/x-extension-xht" = ["floorp.desktop" "firefox.desktop"];
"text/plain" = ["org.gnome.gedit.desktop"];
"application/pdf" = ["okularApplication_pdf.desktop" "floorp.desktop"];
"application/x-compressed-tar" = ["thunar.desktop"];
"application/vnd.oasis.opendocument.text" = ["writer.desktop"];
"application/vnd.openxmlformats-officedocument.wordprocessingml.document" = ["writer.desktop"];
# get these into the module system
specialArgs = {inherit inputs self;};
in {
"thieu@anchor" = homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
inherit specialArgs;
modules = [
inputs.catppuccin.homeManagerModules.catppuccin
./anchor
];
};
};
}
File renamed without changes.
5 changes: 5 additions & 0 deletions hosts/anchor/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
imports = [
./configuration.nix
];
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,4 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

30 changes: 30 additions & 0 deletions hosts/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
self,
inputs,
...
}: {
flake.nixosConfigurations = let
# shorten paths
inherit (inputs.nixpkgs.lib) nixosSystem;

# homeImports = import "${self}/home/profiles";

mod = "${self}/configuration";

# get these into the module system
specialArgs = {inherit inputs self;};
in {
anchor = nixosSystem {
inherit specialArgs;
modules = [
./anchor

# Example
# "${mod}/common/example.nix"

# Later
# inputs.agenix.nixosModules.default
];
};
};
}
Empty file added hosts/wanderer/default.nix
Empty file.
Empty file.
Loading

0 comments on commit 31eea00

Please sign in to comment.