summaryrefslogtreecommitdiff
path: root/nixos/home.nix
blob: 6a76346f4061654fac59324c58ae0b603c94af7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
{ inputs, config, pkgs, ... }:

{
	home.username = "nantha";
	home.homeDirectory = "/home/nantha";
	home.stateVersion = "26.05";

	programs.bash = {
		enable = true;
		shellAliases = {
			ls = "ls -la --color=auto";
			rm = "rm -v";
			cp = "cp -v";
			ln = "ln -v";
			mkdir = "mkdir -v";
			touch = "touch -v";
		};
		initExtra = ''
			export XDG_CONFIG_HOME=$HOME/.config
			export XDG_DATA_HOME=$HOME/.local/share
			export XDG_STATE_HOME=$HOME/.local/state
			export XDG_CACHE_HOME=$HOME/.cache
			export ANDROID_USER_HOME="$XDG_DATA_HOME"/android
			export GNUPGHOME="$XDG_DATA_HOME"/gnupg
			export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
			export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
			export WINEPREFIX="$XDG_DATA_HOME"/wine
			export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
			export CARGO_HOME="$XDG_DATA_HOME"/cargo
			export EDITOR=nvim
			export BROWSER=firefox
			export TERMINAL=alacritty
			export PAGER=less
		'';
		profileExtra = ''
			[ "$(tty)" == "/dev/tty1" ] && start-hyprland
		'';
	};

	home.file.".config/hypr/hyprland.lua".source = ./config/hypr/hyprland.lua;
	home.file.".config/waybar".source = ./config/waybar;
	home.file.".config/git".source = ./config/git;
	home.file.".config/nvim/init.lua".source = ./config/nvim/init.lua;
	home.file.".config/user-dirs.dirs".source = ./config/user-dirs.dirs;
	home.file.".local/bin/unblock-pipewire.sh".source = ./bin/unblock-pipewire.sh;

	home.packages = with pkgs; [
		neovim
		nil

		hyprpicker
		hyprpaper
		dunst
		grim
		wl-clipboard
		xdg-desktop-portal-hyprland
		waybar
		git 
		tree
		thunderbird
		keepassxc
		mpv
		yt-dlp
		pavucontrol
		fzf
		btop

		(pkgs.writeShellApplication {
			name = "ns";
			runtimeInputs = with pkgs; [
				fzf
				nix-search-tv
			];
			text = builtins.readFile "${pkgs.nix-search-tv.src}/nixpkgs.sh";
		})
	];

	programs.alacritty = {
		enable = true;
		theme = "tokyo_night";
		settings = {
			window = {
				padding = {
					x = 10;
					y = 10;
				};
				opacity = 1;
			};
			font = {
				normal = {
					family = "0xProto Nerd Font";
					style = "Regular";
				};
				size = 15;
			};
		};
	};

	programs.firefox = {
		enable = true;
		languagePacks = [ "fr-FR" ];
		profiles.nantha = {
			id = 0;
			extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [
				ublock-origin
			];
			search.default = "ddg";
		};
	};

	services.hyprpaper = {
		enable = true;
		settings = {
			wallpaper = [
				{
					monitor = "auto";
					path = "~/images/wallpaper.png";
				}
			];
		};
	};
}