[feat] Fix the nix config for desktop

This commit is contained in:
uttarayan21
2024-02-18 00:35:42 +05:30
parent 6d0526ab07
commit e94126de33
8 changed files with 450 additions and 84 deletions

View File

@@ -3,30 +3,70 @@
pkgs,
lib,
device,
# overlays,
inputs,
...
}: let
start-tmux = (import ../scripts/start-tmux.nix) pkgs;
in
# https://mipmip.github.io/home-manager-option-search/
{
#nixpkgs.overlays = [
# (self: super: {
# neovim-nightly = overlays.neovim-nightly;
# })
#];
imports = [
# Include the results of the hardware scan.
./tmux.nix
./wezterm.nix
../linux/hyprland.nix
./firefox.nix
inputs.anyrun.nixosModules.home-manager
];
xdg = {
enable = true;
};
home.packages = with pkgs; [
nodejs
nix-index
yubikey-personalization
macchina
ripgrep
fd
alejandra
dust
eza
cachix
rustup
cmake
fzf
anyrun
clang
ncpamixer
neovim-nightly
yubikey-agent
(nerdfonts.override {fonts = ["Hasklig"];})
mpv
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
];
xdg.enable = true;
programs = {
git = {
enable = true;
userName = "uttarayan21";
userEmail = "email@uttarayan.me";
};
nix-index.enableFishIntegration = true;
fish = {
enable = true;
shellAbbrs = {
@@ -39,10 +79,9 @@ in
t = "${start-tmux}";
};
shellInit = ''
fnm env | source
set fish_greeting
'';
interactiveShellInit = ''
set fish_greeting
${pkgs.macchina.outPath}/bin/macchina
'';
};
@@ -134,59 +173,100 @@ in
};
};
anyrun = {
enable = true;
config = {
plugins = with inputs.anyrun.packages.${pkgs.system}; [
rink
applications
websearch
shell
translate
symbols
];
x = {fraction = 0.5;};
y = {fraction = 0.3;};
height = {absolute = 0;};
width = {absolute = 1000;};
showResultsImmediately = true;
layer = "overlay";
};
extraConfigFiles = {
"shell.ron".text = ''
Config(
prefix: "",
shell: None,
)
'';
"handlr.ron".text = ''
Config(
prefix: "",
log: None,
)
'';
"websearch.ron".text = ''
Config(
prefix: "?"
engines: [Google, DuckDuckGo]
)
'';
};
extraCss = ''
window {
color: #ffffff;
background-color: rgba(15, 15, 15, .2);
border-color: #000000;
}
entry {
color: #ffffff;
background-color: rgba(40, 40, 40, .98);
padding: 14px;
font-size: 30px;
border-color: #000000;
border-radius: 10px;
}
#plugin {
color: #efefef;
border-color: #000000;
border-color: #000000;
border-radius: 5px;
}
#main {
color: #efefef;
border-color: #000000;
border-color: #000000;
border-radius: 5px;
}
'';
};
# Let Home Manager install and manage itself.
home-manager = {
enable = true;
};
};
fonts.fontconfig.enable = true;
home = {
# Home Manager needs a bit of information about you and the paths it should
# manage.
username = device.user;
homeDirectory =
if !isNull (builtins.match ".*-darwin" device.system)
if device.isMac
then lib.mkForce "/Users/${device.user}"
else lib.mkForce "/home/${device.user}";
stateVersion = "23.11";
packages = with pkgs; [
macchina
ripgrep
fd
fnm
alejandra
dust
eza
cachix
rustup
cmake
# neovim-nightly
(nerdfonts.override {fonts = ["Hasklig"];})
mpv
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
];
file = {
".config/tmux/sessions".source = ../../tmux/sessions;
".config/nvim".source = ../../nvim;
".config/nvim/lua".source = ../../nvim/lua;
".config/nvim/init.lua".source = ../../nvim/init.lua;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''