Compare commits
4 Commits
42c2413ce0
...
b8d7024b93
Author | SHA1 | Date |
---|---|---|
pegasust | b8d7024b93 | |
pegasust | a6763a59eb | |
pegasust | 9814ddd9fc | |
pegasust | 0055e3cb17 |
|
@ -397,7 +397,7 @@ remap('n', '<leader>gs', function() require('neogit').open({}) end);
|
||||||
require("inlay-hints").setup {
|
require("inlay-hints").setup {
|
||||||
only_current_line = false,
|
only_current_line = false,
|
||||||
eol = {
|
eol = {
|
||||||
right_align = true,
|
right_align = false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
local on_attach = function(client, bufnr)
|
local on_attach = function(client, bufnr)
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ config
|
||||||
|
, proj_root
|
||||||
|
, myLib
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (myLib) fromYaml;
|
||||||
|
actualConfig = fromYaml (builtins.readFile "${proj_root}//alacritty/alacritty.yml");
|
||||||
|
cfg = config.base.alacritty;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.base.alacritty.font.family = myLib.mkOption {
|
||||||
|
type = myLib.types.singleLineStr;
|
||||||
|
default = actualConfig.font.normal.family;
|
||||||
|
description = ''
|
||||||
|
The font family for Alacritty
|
||||||
|
'';
|
||||||
|
example = "DroidSansMono NF";
|
||||||
|
};
|
||||||
|
options.base.alacritty.enable = myLib.mkOption {
|
||||||
|
type = myLib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Enables alacritty
|
||||||
|
'';
|
||||||
|
example = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
config.programs.alacritty = {
|
||||||
|
enable = cfg.enable;
|
||||||
|
settings = actualConfig // {
|
||||||
|
font.normal.family = cfg.font.family;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
}:
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ pkgs
|
||||||
|
, lib ? pkgs.lib
|
||||||
|
, ...
|
||||||
|
}@inputs:
|
||||||
|
let
|
||||||
|
_lib = lib // import ../../lib { inherit pkgs lib; };
|
||||||
|
in
|
||||||
|
# TODO: Unpollute inputs
|
||||||
|
inputs // {
|
||||||
|
proj_root = builtins.toString ./../../..;
|
||||||
|
myLib = _lib;
|
||||||
|
}
|
|
@ -45,22 +45,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"from-yaml": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1667993187,
|
|
||||||
"narHash": "sha256-JG1XYGCmR7Jqawvs8AO4c2mrOl37BXGGgU9cfeL0b8k=",
|
|
||||||
"owner": "pegasust",
|
|
||||||
"repo": "fromYaml",
|
|
||||||
"rev": "ef0ed4acfc4a6b7a0f1515cb48f5dbdda89dac3c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "pegasust",
|
|
||||||
"repo": "fromYaml",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -151,7 +135,6 @@
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"from-yaml": "from-yaml",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixgl": "nixgl",
|
"nixgl": "nixgl",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
|
|
@ -9,10 +9,6 @@
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
nixgl.url = "github:guibou/nixGL";
|
nixgl.url = "github:guibou/nixGL";
|
||||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||||
from-yaml = {
|
|
||||||
url = "github:pegasust/fromYaml";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
@ -21,7 +17,6 @@
|
||||||
, nixgl
|
, nixgl
|
||||||
, rust-overlay
|
, rust-overlay
|
||||||
, flake-utils
|
, flake-utils
|
||||||
, from-yaml
|
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
@ -32,7 +27,8 @@
|
||||||
inherit system overlays;
|
inherit system overlays;
|
||||||
config = { allowUnfree = true; };
|
config = { allowUnfree = true; };
|
||||||
};
|
};
|
||||||
lib = (import ../lib-nix { inherit pkgs from-yaml; lib = pkgs.lib; });
|
# lib = (import ../lib { inherit pkgs; lib = pkgs.lib; });
|
||||||
|
mkModuleArgs = import ./base/mkModuleArgs.nix;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
homeConfigurations =
|
homeConfigurations =
|
||||||
|
@ -51,8 +47,8 @@
|
||||||
# optionally pass inarguments to module
|
# optionally pass inarguments to module
|
||||||
# we migrate this from in-place modules to allow flexibility
|
# we migrate this from in-place modules to allow flexibility
|
||||||
# in this case, we can add "home" to input arglist of home.nix
|
# in this case, we can add "home" to input arglist of home.nix
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = mkModuleArgs {
|
||||||
myLib = lib;
|
inherit pkgs;
|
||||||
myHome = {
|
myHome = {
|
||||||
username = "hungtr";
|
username = "hungtr";
|
||||||
homeDirectory = "/home/hungtr";
|
homeDirectory = "/home/hungtr";
|
||||||
|
@ -67,8 +63,8 @@
|
||||||
# optionally pass inarguments to module
|
# optionally pass inarguments to module
|
||||||
# we migrate this from in-place modules to allow flexibility
|
# we migrate this from in-place modules to allow flexibility
|
||||||
# in this case, we can add "home" to input arglist of home.nix
|
# in this case, we can add "home" to input arglist of home.nix
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = mkModuleArgs {
|
||||||
myLib = lib;
|
inherit pkgs;
|
||||||
myHome = {
|
myHome = {
|
||||||
username = "nixos";
|
username = "nixos";
|
||||||
homeDirectory = "/home/nixos";
|
homeDirectory = "/home/nixos";
|
||||||
|
@ -99,9 +95,13 @@
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [
|
modules = [
|
||||||
./home.nix
|
./home.nix
|
||||||
|
./base/alacritty.nix
|
||||||
|
{
|
||||||
|
base.alacritty.font.family = "BitstreamVeraSansMono Nerd Font";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = mkModuleArgs {
|
||||||
myLib = lib;
|
inherit pkgs;
|
||||||
myHome = {
|
myHome = {
|
||||||
username = "hwtr";
|
username = "hwtr";
|
||||||
homeDirectory = "/home/hwtr";
|
homeDirectory = "/home/hwtr";
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
# myHome is injected from extraSpecialArgs in flake.nix
|
# This is a nix module, with an additional wrapper from home-manager
|
||||||
{ config
|
# myHome, myLib is injected from extraSpecialArgs in flake.nix
|
||||||
|
# This file represents the base settings for each machine
|
||||||
|
# Additional configurations goes to profiles/<user>
|
||||||
|
# or inlined in flake.nix
|
||||||
|
{ config # Represents the realized final configuration
|
||||||
, pkgs # This is by default just ``= import <nixpkgs>{}`
|
, pkgs # This is by default just ``= import <nixpkgs>{}`
|
||||||
, myHome
|
, myHome
|
||||||
|
, myLib
|
||||||
|
, option # The options we're given, this might be useful for typesafety?
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
@ -28,20 +34,7 @@ let
|
||||||
# ]))
|
# ]))
|
||||||
];
|
];
|
||||||
proj_root = builtins.toString ./../..;
|
proj_root = builtins.toString ./../..;
|
||||||
# TODO: put this in a seperate library
|
inherit (myLib) fromYaml;
|
||||||
# callPackage supports both PATH and function as first param!
|
|
||||||
yamlToJsonDrv = yamlContent: outputPath: pkgs.callPackage
|
|
||||||
({ runCommand }:
|
|
||||||
# runCommand source: https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/trivial-builders.nix#L33
|
|
||||||
runCommand outputPath { inherit yamlContent; nativeBuildInputs = [ pkgs.yq ]; }
|
|
||||||
# run yq which outputs '.' (no filter) on file at yamlPath
|
|
||||||
# note that $out is passed onto the bash/sh script for execution
|
|
||||||
''
|
|
||||||
echo "$yamlContent" | yq >$out
|
|
||||||
'')
|
|
||||||
{ };
|
|
||||||
# fromYamlPath = yamlPath: builtins.fromJSON (builtins.readFile (yamlToJsonDrv yamlPath "any-output.json"));
|
|
||||||
fromYaml = yamlContent: builtins.fromJSON (builtins.readFile (yamlToJsonDrv yamlContent "any_output.json"));
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home = {
|
home = {
|
||||||
|
@ -54,10 +47,7 @@ in
|
||||||
pkgs.htop
|
pkgs.htop
|
||||||
pkgs.ripgrep
|
pkgs.ripgrep
|
||||||
pkgs.unzip
|
pkgs.unzip
|
||||||
pkgs.rust-bin.nightly.latest.default # Needed for alacritty?
|
|
||||||
|
|
||||||
# pkgs.nodejs-18_x
|
# pkgs.nodejs-18_x
|
||||||
# pkgs.rust-analyzer # This should be very specific to env
|
|
||||||
|
|
||||||
|
|
||||||
# cool utilities
|
# cool utilities
|
||||||
|
@ -84,11 +74,6 @@ in
|
||||||
programs.jq = {
|
programs.jq = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
programs.alacritty = myHome.programs.alacritty or {
|
|
||||||
enable = true;
|
|
||||||
# settings = myLib.fromYaml (builtins.readFile "${proj_root}/alacritty/alacritty.yml");
|
|
||||||
settings = fromYaml (builtins.readFile "${proj_root}//alacritty/alacritty.yml");
|
|
||||||
};
|
|
||||||
# nix: Propagates the environment with packages and vars when enter (children of)
|
# nix: Propagates the environment with packages and vars when enter (children of)
|
||||||
# a directory with shell.nix-compatible and .envrc
|
# a directory with shell.nix-compatible and .envrc
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
# main module exporter for different configuration profiles
|
||||||
|
{pkgs, libs,...} @ inputs:
|
||||||
|
{
|
||||||
|
hwtr = import ./hwtr.nix;
|
||||||
|
}
|
|
@ -1,4 +1,9 @@
|
||||||
{pkgs, lib, from-yaml, ...}@flake_import:
|
{ pkgs
|
||||||
{
|
, lib ? pkgs.lib
|
||||||
fromYaml = import "${from-yaml}/fromYaml.nix" {inherit lib;};
|
, ... }@flake_import:
|
||||||
|
let serde = import ./serde { inherit pkgs lib; };
|
||||||
|
in
|
||||||
|
pkgs.lib // lib // {
|
||||||
|
fromYaml = serde.fromYaml;
|
||||||
|
fromYamlPath = serde.fromYamlPath;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Takes care of serializing and deserializing to some formats
|
||||||
|
# Blame: Pegasust<pegasucksgg@gmail.com>
|
||||||
|
# TODO: Add to* formats from pkgs.formats.*
|
||||||
|
{ pkgs
|
||||||
|
, lib
|
||||||
|
} @ inputs:
|
||||||
|
let
|
||||||
|
yamlToJsonDrv = yamlContent: outputPath: pkgs.callPackage
|
||||||
|
({ runCommand }:
|
||||||
|
# runCommand source: https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/trivial-builders.nix#L33
|
||||||
|
runCommand outputPath { inherit yamlContent; nativeBuildInputs = [ pkgs.yq ]; }
|
||||||
|
# run yq which outputs '.' (no filter) on file at yamlPath
|
||||||
|
# note that $out is passed onto the bash/sh script for execution
|
||||||
|
''
|
||||||
|
echo "$yamlContent" | yq >$out
|
||||||
|
'')
|
||||||
|
{ };
|
||||||
|
in {
|
||||||
|
# Takes in a yaml string and produces a derivation with translated JSON at $outputPath
|
||||||
|
# similar to builtins.fromJSON, turns a YAML string to nix attrset
|
||||||
|
fromYaml = yamlContent: builtins.fromJSON (builtins.readFile (yamlToJsonDrv yamlContent "any_output.json"));
|
||||||
|
fromYamlPath = yamlPath: builtins.fromJSON (
|
||||||
|
builtins.readFile (
|
||||||
|
yamlToJsonDrv (
|
||||||
|
builtins.readFile yamlPath)
|
||||||
|
"any-output.json"));
|
||||||
|
# TODO: fromToml?
|
||||||
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
# This module aims to be merge (not inject/override) with top-level pkgs to provide
|
# This module aims to be merge (not inject/override) with top-level pkgs to provide
|
||||||
# personalized/custom packages
|
# personalized/custom packages
|
||||||
{ pkgs, lib, ... }@pkgs_input: {
|
{ pkgs, lib, ... }@pkgs_input: {
|
||||||
dot-hwtr = import "./dot-hwtr" pkgs_input;
|
# dot-hwtr = import "./dot-hwtr" pkgs_input;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
{ pkgs, lib, ... }@pkgs_input: pkgs.stdenv.mkDerivation {
|
|
||||||
name = "dot-hwtr";
|
|
||||||
native
|
|
||||||
}
|
|
|
@ -10,7 +10,7 @@ HOME_MANAGER_DIR="${SCRIPT_DIR}/../nix-conf/home-manager"
|
||||||
|
|
||||||
# test if we have home-manager, if not, attempt to use nix to put home-manager to
|
# test if we have home-manager, if not, attempt to use nix to put home-manager to
|
||||||
# our environment
|
# our environment
|
||||||
if [ $(home-manager &>/dev/null) ]; then
|
if [ $(home-manager >/dev/null 2>&1) ]; then
|
||||||
nix-shell -p home-manager --run "home-manager switch --flake $HOME_MANAGER_DIR"
|
nix-shell -p home-manager --run "home-manager switch --flake $HOME_MANAGER_DIR"
|
||||||
else
|
else
|
||||||
home-manager switch --flake "$HOME_MANAGER_DIR"
|
home-manager switch --flake "$HOME_MANAGER_DIR"
|
||||||
|
|
Loading…
Reference in New Issue