authorgravatar for nmarks413@gmail.comNatalie Marks <nmarks413@gmail.com> 2024-01-05 21:00:41-08:00
committergravatar for nmarks413@gmail.comNatalie Marks <nmarks413@gmail.com> 2024-01-05 21:00:41-08:00
log21bcfce762dbc35cb5ee241311d4f0f34b5bd8b8
treedcc7a412dc46a70bd62dda11de6fd0d1f051fccf
parentc0c427ecc904d8c83ad7f0a10cbc4909aef6999e

updates


2 files changed, 114 insertions(+), 48 deletions(-)

configuration.nix+56-42
......@@ -1,25 +1,24 @@
11#<BS> Edit this configuration file to define what should be installed on
22# your system. Help is available in the configuration.nix(5) man page
33# and in the NixOS manual (accessible by running ‘nixos-help’).
4
5{ config, pkgs, ... }:
6
74{
8 nix.settings.experimental-features = [ "nix-command" "flakes" ];
5 config,
6 pkgs,
7 ...
8}: {
9 nix.settings.experimental-features = ["nix-command" "flakes"];
910 programs.hyprland.enable = true;
10 programs.zsh = {
11 enable = true;
12 ohMyZsh = {
13 enable = true;
14 plugins = ["git" "zsh-autosuggestions" "zsh-autocomplete" "sudo"];
15 theme = "powerlevel10k";
16};
17};
18
19 imports =
20 [ # Include the results of the hardware scan.
21 ./hardware-configuration.nix
22 ];
11
12 programs.fish.enable = true;
13
14 fonts.packages = with pkgs; [
15 (nerdfonts.override {fonts = ["FiraCode" "Iosevka"];})
16 ];
17
18 imports = [
19 # Include the results of the hardware scan.
20 ./hardware-configuration.nix
21 ];
2322
2423 # Enable OpenGL
2524 hardware.opengl = {
......@@ -30,7 +29,6 @@
3029 services.xserver.videoDrivers = ["nvidia"];
3130
3231 hardware.nvidia = {
33
3432 # Modesetting is required.
3533 modesetting.enable = true;
3634
......@@ -42,15 +40,15 @@
4240
4341 # Use the NVidia open source kernel module (not to be confused with the
4442 # independent third-party "nouveau" open source driver).
45 # Support is limited to the Turing and later architectures. Full list of
46 # supported GPUs is at:
47 # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
43 # Support is limited to the Turing and later architectures. Full list of
44 # supported GPUs is at:
45 # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
4846 # Only available from driver 515.43.04+
4947 # Currently alpha-quality/buggy, so false is currently the recommended setting.
5048 open = false;
5149
5250 # Enable the Nvidia settings menu,
53 # accessible via `nvidia-settings`.
51 # accessible via `nvidia-settings`.
5452 nvidiaSettings = true;
5553
5654 # Optionally, you may need to select the appropriate driver version for your specific GPU.
......@@ -61,16 +59,16 @@
6159 #boot.loader.efi.canTouchEfiVariables = true;
6260
6361 boot.loader = {
64 efi = {
65 canTouchEfiVariables = true;
62 efi = {
63 canTouchEfiVariables = true;
6664 # assuming /boot is the mount point of the EFI partition in NixOS (as the installation section recommends).
6765 efiSysMountPoint = "/boot";
68 };
69 grub = {
70 enable = true;
71 devices = [ "nodev" ];
72 useOSProber = true;
73 };
66 };
67 grub = {
68 enable = true;
69 devices = ["nodev"];
70 useOSProber = true;
71 };
7472 };
7573 networking.hostName = "nixos"; # Define your hostname.
7674 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
......@@ -137,24 +135,26 @@
137135 # services.xserver.libinput.enable = true;
138136
139137 # Define a user account. Don't forget to set a password with ‘passwd’.
138 users.defaultUserShell = pkgs.fish;
140139 users.users.nmarks = {
141140 isNormalUser = true;
142141 description = "Natalie Marks";
143 extraGroups = [ "networkmanager" "wheel" ];
142 extraGroups = ["networkmanager" "wheel"];
144143 packages = with pkgs; [
145144 firefox
146145 kate
147146 vim
148147 discord
149148 kitty
150
151 # thunderbird
149 lua-language-server
150 # thunderbird
152151 ];
153152 };
153
154154 programs.neovim = {
155 enable = true;
156 defaultEditor = true;
157};
155 enable = true;
156 defaultEditor = true;
157 };
158158 environment.variables.EDITOR = "nvim";
159159
160160 # Allow unfree packages
......@@ -163,18 +163,33 @@
163163 # List packages installed in system profile. To search, run:
164164 # $ nix search wget
165165 environment.systemPackages = with pkgs; [
166 fish
166167 vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
167168 wget
168169 git
170 unzip
171 ripgrep
172 clang
173 fd
174 cargo
175 python3
176 python311Packages.pynvim
177 python311Packages.pip
178 steam
179 ruby
180 julia
181 xclip
182 nodePackages.npm
183 go
169184 ];
170185
171186 # Some programs need SUID wrappers, can be configured further or are
172187 # started in user sessions.
173 programs.mtr.enable = true;
174 programs.gnupg.agent = {
175 enable = true;
176 enableSSHSupport = true;
177 };
188 programs.mtr.enable = true;
189 programs.gnupg.agent = {
190 enable = true;
191 enableSSHSupport = true;
192 };
178193
179194 # List services that you want to enable:
180195
......@@ -194,5 +209,4 @@
194209 # Before changing this value read the documentation for this option
195210 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
196211 system.stateVersion = "23.05"; # Did you read the comment?
197
198212}
home.nix+58-6
......@@ -1,6 +1,8 @@
1{ config, pkgs, ... }:
2
31{
2 config,
3 pkgs,
4 ...
5}: {
46 # Home Manager needs a bit of information about you and the paths it should
57 # manage.
68 home.username = "nmarks";
......@@ -18,6 +20,14 @@
1820 # The home.packages option allows you to install Nix packages into your
1921 # environment.
2022 home.packages = with pkgs; [
23 stylua
24 alejandra
25 webcord
26 btop
27 neofetch
28 #zsh-autosuggestions
29 #zsh-autocomplete
30 #zsh-powerlevel10k
2131 # # Adds the 'hello' command to your environment. It prints a friendly
2232 # # "Hello, world!" when run.
2333 # pkgs.hello
......@@ -35,14 +45,54 @@
3545 # echo "Hello, ${config.home.username}!"
3646 # '')
3747 ];
48
3849 programs.neovim = {
39 viAlias = true;
40 vimAlias = true;
50 viAlias = true;
51 vimAlias = true;
52 extraPackages = with pkgs; [
53 lua-language-server
54 nil
55 alejandra
56 ];
4157 };
4258 #Link neovim config into nix
43 xdg.configFile.nvim.source = ./nvim;
59 #xdg.configFile.nvim.source = ./nvim;
60
61 programs.kitty = {
62 enable = true;
63 theme = "Catppuccin-Mocha";
64 extraConfig = "font_family Iosevka NF
65 italic_font auto
66 bold_italic_font auto
67 bold_font auto";
68 };
4469
70 programs.fish = {
71 enable = true;
4572
73 plugins = [
74 {
75 name = "tide";
76 src = pkgs.fishPlugins.tide.src;
77 }
78 ];
79 };
80
81 /*
82 programs.zsh = {
83 oh-my-zsh = {
84 enable = true;
85 plugins = [ "git" "extract"];
86 };
87 enableAutosuggestions = true;
88 enableCompletion = true;
89 syntaxHighlighting.enable = true;
90
91 plugins = [
92 {name = "powerlevel10k";src = pkgs.zsh-powerlevel10k;file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";}
93 ];
94 };
95 */
4696
4797 # Home Manager is pretty good at managing dotfiles. The primary way to manage
4898 # plain files is through 'home.file'.
......@@ -70,7 +120,9 @@
70120 #
71121 # if you don't want to manage your shell through Home Manager.
72122 home.sessionVariables = {
73 # EDITOR = "emacs";
123 EDITOR = "nvim";
124 TERMINAL = "kitty";
125 BROWSER = "firefox";
74126 };
75127
76128 # Let Home Manager install and manage itself.