added host Marisa (haven't tested config yet)

This commit is contained in:
2021-05-19 06:28:14 +05:30
parent a3033000a9
commit 63262b85ff
28 changed files with 1465 additions and 133 deletions

View File

@@ -33,7 +33,8 @@ jobs:
strategy: strategy:
matrix: matrix:
host: host:
- Satori - Marisa
# - Satori
steps: steps:
- uses: actions/checkout@v2.3.4 - uses: actions/checkout@v2.3.4
- uses: cachix/install-nix-action@v13 - uses: cachix/install-nix-action@v13
@@ -46,3 +47,24 @@ jobs:
name: natto1784 name: natto1784
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: nix build -L .#nixosConfigurations.${{ matrix.host }}.config.system.build.toplevel - run: nix build -L .#nixosConfigurations.${{ matrix.host }}.config.system.build.toplevel
home-manager:
name: build home-manager configurations
runs-on: ubuntu-latest
strategy:
matrix:
home:
- ottan
# - natto
steps:
- uses: actions/checkout@v2.3.4
- uses: cachix/install-nix-action@v13
with:
install_url: https://github.com/numtide/nix-flakes-installer/releases/download/nix-2.4pre20210429_d15a196/install
extra_nix_config: |
experimental-features = nix-command flakes
- uses: cachix/cachix-action@v10
with:
name: natto1784
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: nix build -L .#hm-configs.${{ matrix.home }}.activationPackage

View File

@@ -1,45 +0,0 @@
;;definitions
(defun install (a) (unless (package-installed-p a) (package-install a)))
;;settings
(global-display-line-numbers-mode 0)
(setq display-line-numbers-type 'relative)
(setq inhibit-startup-screen t)
(scroll-bar-mode 0)
(tool-bar-mode 0)
(menu-bar-mode 0)
;;(fringe-mode 0)
(set-face-attribute 'default nil :font "Fira Mono for Powerline" :height 120)
;;(set-face-background 'line-number-current-line nil :background t)
;;packages
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
(package-initialize)
(install 'use-package)
(setq use-package-always-ensure t)
(require 'use-package)
;;install shit
(use-package elcord
:config
(elcord-mode 1))
(use-package gruvbox-theme
:config
(load-theme 'gruvbox-dark-hard t))
(use-package ivy
:bind (:map ivy-minibuffer-map
("C-n" . ivy-next-line)
("C-e" . ivy-previous-line)
("C-i" . ivy-done))
:config
(ivy-mode 1))
;;keybinds
;;ivy
;(define-key ivy-minibuffer-map (kbd "C-n") 'ivy-next-line)
;(define-key ivy-minibuffer-map (kbd "C-e") 'ivy-previous-line)
;(define-key ivy-minibuffer-map (kbd "C-i") 'ivy-done)

16
flake.lock generated
View File

@@ -19,21 +19,6 @@
"type": "github" "type": "github"
} }
}, },
"emacs": {
"locked": {
"lastModified": 1621045111,
"narHash": "sha256-W76OW/gjCJQRV49PC5++vHucI0w3LmxELfvbjX6xM7c=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "7639cddd28b8ac0c9b5427f5e13c775534170428",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"locked": { "locked": {
"lastModified": 1600209923, "lastModified": 1600209923,
@@ -117,7 +102,6 @@
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
"emacs": "emacs",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nur": "nur", "nur": "nur",

View File

@@ -11,27 +11,27 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
agenix.url = github:ryantm/agenix; agenix.url = github:ryantm/agenix;
emacs = {
url = github:nix-community/emacs-overlay;
inputs.nixpkgs.follows = "nixpkgs";
};
utils.url = github:numtide/flake-utils; utils.url = github:numtide/flake-utils;
}; };
outputs = inputs@{self, nixpkgs, ... }: outputs = inputs@{self, nixpkgs, ... }:
inputs.utils.lib.eachDefaultSystem (system: { inputs.utils.lib.eachDefaultSystem (system:
packages = import nixpkgs { let
inherit system;
overlays = self.overlays ++ [ inputs.nur.overlay inputs.emacs.overlay ];
config.allowUnfree = true;
};
}) //
(
{
overlays = [ overlays = [
(import ./overlays/overridesandshit.nix) (import ./overlays/overridesandshit.nix)
(import ./overlays/packages.nix) (import ./overlays/packages.nix)
]; ];
in
{
packages = import nixpkgs {
inherit system;
overlays = overlays ++ [ inputs.nur.overlay ];
config.allowUnfree = true;
config.allowBroken = true;
};
}) //
(
{
hm-configs = { hm-configs = {
natto = inputs.home-manager.lib.homeManagerConfiguration { natto = inputs.home-manager.lib.homeManagerConfiguration {
system = "x86_64-linux"; system = "x86_64-linux";
@@ -41,20 +41,47 @@
]; ];
nixpkgs.overlays = self.packages.x86_64-linux.overlays; nixpkgs.overlays = self.packages.x86_64-linux.overlays;
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowBroken = true;
}; };
homeDirectory = "/home/natto"; homeDirectory = "/home/natto";
username = "natto"; username = "natto";
}; };
ottan = inputs.home-manager.lib.homeManagerConfiguration {
system = "aarch64-linux";
configuration = { lib, ... }: {
imports = [
./home/ottan.nix
];
nixpkgs.overlays = self.packages.aarch64-linux.overlays;
};
homeDirectory = "/home/ottan";
username = "ottan";
}; };
nixosConfigurations.Satori = nixpkgs.lib.nixosSystem { };
nixosConfigurations = {
Satori = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
./satori.nix ./satori.nix
inputs.agenix.nixosModules.age inputs.agenix.nixosModules.age
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
{ nixpkgs.pkgs = self.packages.x86_64-linux; } {
nixpkgs.pkgs = self.packages.x86_64-linux;
}
]; ];
}; };
Marisa = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
modules = [
./marisa.nix
inputs.home-manager.nixosModules.home-manager
{
nixpkgs.pkgs = self.packages.aarch64-linux;
}
];
};
};
}); });
} }

View File

@@ -0,0 +1,19 @@
--- a/gruvbox.el 2021-05-17 21:19:07.731014155 +0530
+++ b/gruvbox.el 2021-05-17 21:20:11.297990471 +0530
@@ -162,11 +162,11 @@
;; line numbers
- (line-number (:foreground gruvbox-dark4 :background gruvbox-dark1))
- (line-number-current-line (:foreground gruvbox-bright_orange :background gruvbox-dark2))
- (linum (:foreground gruvbox-dark4 :background gruvbox-dark1))
- (linum-highlight-face (:foreground gruvbox-bright_orange :background gruvbox-dark2))
- (linum-relative-current-face (:foreground gruvbox-bright_orange :background gruvbox-dark2))
+ (line-number (:foreground gruvbox-dark4 :background nil))
+ (line-number-current-line (:foreground gruvbox-bright_orange :background gruvbox-dark1))
+ (linum (:foreground gruvbox-dark4 :background nil))
+ (linum-highlight-face (:foreground gruvbox-bright_orange :background gruvbox-dark1))
+ (linum-relative-current-face (:foreground gruvbox-bright_orange :background gruvbox-dark1))
;; Highlight indentation mode
(highlight-indentation-current-column-face (:background gruvbox-dark2))

45
home/config/emacs/init.el Normal file
View File

@@ -0,0 +1,45 @@
;;settings
(setq display-line-numbers-type 'relative)
(setq inhibit-startup-screen t)
(set-face-attribute 'default nil :font "Fira Mono for Powerline" :height 120)
;;add packages and shit
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
(package-initialize)
(setq pkgs '(ivy gruvbox-theme elcord rainbow-delimiters))
(while pkgs
(require (car pkgs))
(setq pkgs (cdr pkgs)))
;;package config and modes
(global-hl-line-mode 1)
(scroll-bar-mode 0)
(tool-bar-mode 0)
(menu-bar-mode 0)
(fringe-mode 0)
(global-display-line-numbers-mode 1)
(load-theme 'gruvbox-dark-hard t)
(ivy-mode 1)
(elcord-mode 1)
;;keybinds
;ivy
(define-key ivy-minibuffer-map (kbd "C-n") 'ivy-next-line)
(define-key ivy-minibuffer-map (kbd "C-e") 'ivy-previous-line)
(define-key ivy-minibuffer-map (kbd "C-i") 'ivy-done)
;;hooks
;exclude line numbers
(setq exclude-ln '(term-mode-hook eshell-mode-hook shell-mode-hook))
(while exclude-ln
(add-hook (car exclude-ln) (lambda () (display-line-numbers-mode 0)))
(setq exclude-ln (cdr exclude-ln)))
;rainbow delims
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)

View File

@@ -25,11 +25,13 @@ set autoindent
set number set number
set relativenumber set relativenumber
set background=dark set background=dark
syntax sync minlines=100
set showtabline=2 set showtabline=2
set noshowmode set noshowmode
set nobackup set nobackup
set nowritebackup set nowritebackup
set updatetime=300 set updatetime=300
set lazyredraw
set timeoutlen=100 set timeoutlen=100
set formatoptions-=cro set formatoptions-=cro
set clipboard=unnamedplus set clipboard=unnamedplus

27
home/ottan.nix Normal file
View File

@@ -0,0 +1,27 @@
{config, pkgs, lib, ...}:
let
home = config.home.homeDirectory;
in
{
imports = [
./stuff/programs/nvim.nix
./stuff/programs/emacs.nix
];
home = {
packages = with pkgs; [
pamixer
customscripts
curl
];
file = {
dwm-autostart = {
source = ./config/dwm/autostart.sh;
target = "${home}/.dwm/autostart.sh";
};
dwm-status = {
source = ./config/dwm/bruhstatus.sh;
target = "${home}/.dwm/bruhstatus.sh";
};
};
};
}

Binary file not shown.

View File

@@ -3,6 +3,7 @@
imports = [ imports = [
./programs/nvim.nix ./programs/nvim.nix
./programs/ncmpcpp.nix ./programs/ncmpcpp.nix
./programs/emacs.nix
]; ];
programs = { programs = {
firefox = { firefox = {
@@ -31,8 +32,5 @@
save-position-on-quit = "yes"; save-position-on-quit = "yes";
}; };
}; };
emacs = {
enable = true;
};
}; };
} }

View File

@@ -0,0 +1,21 @@
{ pkgs, config, ... }:
{
programs.emacs = {
enable = true;
extraPackages = epkgs: with epkgs; [
elcord
gruvbox-theme
ivy
rainbow-delimiters
];
overrides = self: super: {
gruvbox-theme = self.melpaPackages.gruvbox-theme.overrideAttrs(_: {
patches = [ ../../config/emacs/gruvbox-el.patch ];
});
};
};
home.file.emacs = {
source = ../../config/emacs/init.el;
target = "${config.home.homeDirectory}/.emacs.d/init.el";
};
}

View File

@@ -13,7 +13,7 @@ let
let g:floaterm_width=0.8 let g:floaterm_width=0.8
let g:floaterm_height=0.8 let g:floaterm_height=0.8
let g:floaterm_wintitle=0 let g:floaterm_wintitle=0
let g:floaterm_shell="/usr/bin/env fish" let g:floaterm_shell="/usr/bin/env zsh"
''; '';
plugin = pkgs.vimPlugins.vim-floaterm; plugin = pkgs.vimPlugins.vim-floaterm;
}; };
@@ -60,10 +60,10 @@ in
{ {
programs.neovim = { programs.neovim = {
enable = true; enable = true;
vimAlias = true; vimAlias = false;
viAlias = false; viAlias = false;
# withNodeJs = true; withNodeJs = false;
# withPython = true; withPython = false;
extraConfig = '' extraConfig = ''
let g:gruvbox_italic=1 let g:gruvbox_italic=1
let g:gruvbox_contrast_dark="hard" let g:gruvbox_contrast_dark="hard"
@@ -75,7 +75,7 @@ in
builtins.readFile ../../config/nvim/utils.vim; builtins.readFile ../../config/nvim/utils.vim;
plugins = with plugs; [ plugins = with plugs; [
auto-pairs auto-pairs
#nvim-colorizer # nvim-colorizer
floaterm floaterm
vim-rooter vim-rooter
nerdcommenter nerdcommenter

13
marisa.nix Normal file
View File

@@ -0,0 +1,13 @@
{lib, config, ...}:
{
imports =
[
./modules/xorg.nix
./modules/pipewire.nix
./marisa/pkgs.nix
./marisa/networking.nix
./marisa/stuff.nix
./satori/hardware.nix
];
boot.loader.grub.enable = false;
}

18
marisa/networking.nix Normal file
View File

@@ -0,0 +1,18 @@
{config, ...}:
{
networking = {
hostName = "Marisa";
wireless.enable = true;
interfaces = {
wlan0 = {
useDHCP = false;
ipv4.addresses = [ {
prefixLength = 24;
address = "192.168.0.159";
} ];
};
};
defaultGateway = "192.168.0.1";
nameservers = [ "1.1.1.1" "8.8.8.8" ];
};
}

42
marisa/pkgs.nix Normal file
View File

@@ -0,0 +1,42 @@
{lib, config, pkgs, ...}:
{
environment.systemPackages = with pkgs; [
xclip
xorg.xkbcomp
p7zip
git
gnumake
neofetch
htop
feh
st
dwm
vim
wget
];
programs = {
zsh = {
enable = true;
promptInit = "PROMPT='%F{cyan}%~ %F{blue}>%f '\nRPROMPT='%F{cyan}%n%f@%F{red}%m'";
histSize = 12000;
enableCompletion = true;
syntaxHighlighting.enable = true;
autosuggestions. enable = true;
ohMyZsh.enable = true;
};
gnupg = {
agent = {
enableSSHSupport = true;
enable = true;
pinentryFlavor = "curses";
};
};
};
nix = {
package = pkgs.nixUnstable;
extraOptions = ''
experimental-features = nix-command ca-references flakes
'';
trustedUsers = [ "root" "ottan" ];
};
}

31
marisa/stuff.nix Normal file
View File

@@ -0,0 +1,31 @@
{config, pkgs, ...}:
{
time.timeZone = "Asia/Kolkata";
environment = {
sessionVariables = {
EDITOR = "vim";
};
};
security = {
sudo.enable = false;
doas = {
enable = true;
extraRules = [
{
users = [ "ottan" ];
keepEnv = true;
persist = true;
}
];
};
};
fonts.fonts = with pkgs; [
fira-mono
];
users.users.ottan = {
isNormalUser = true;
shell = pkgs.zsh;
home = "/home/ottan";
extraGroups = [ "wheel" ];
};
}

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env sh #!/usr/bin/env sh
systemctl start mpd.service --user #systemctl start mpd.service --user
#systemctl start mpd.socket --user systemctl start mpd.socket --user
mpdas & mpdas &
mpd_discord_richpresence & mpd_discord_richpresence &

View File

@@ -2,7 +2,6 @@ final: prev: {
dmenu = prev.dmenu.overrideAttrs (oldAttrs: rec { dmenu = prev.dmenu.overrideAttrs (oldAttrs: rec {
configFile = prev.writeText "config.def.h" (builtins.readFile ./dmenu/config.def.h); configFile = prev.writeText "config.def.h" (builtins.readFile ./dmenu/config.def.h);
postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h";
}); });
ncmpcpp = prev.ncmpcpp.override { ncmpcpp = prev.ncmpcpp.override {
@@ -26,6 +25,8 @@ final: prev: {
rev = "0cd1e394e6d07c5f605ae23070c40de9690bafb1"; rev = "0cd1e394e6d07c5f605ae23070c40de9690bafb1";
sha256 = "sha256-EY5Amz16Drc4i0uEAYTPEHcGex0s3pzHDqfDp4Z5OGY="; sha256 = "sha256-EY5Amz16Drc4i0uEAYTPEHcGex0s3pzHDqfDp4Z5OGY=";
}; };
# patch = prev.writeText "st.patch" (builtins.readFile ./st.patch);
# patchPhase = "patch -t < ${patch}";
}); });
kbd = prev.kbd.overrideAttrs (oldAttrs: rec{ kbd = prev.kbd.overrideAttrs (oldAttrs: rec{

1136
overlays/st.patch Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -8,6 +8,7 @@
./satori/pkgs.nix ./satori/pkgs.nix
./satori/networking.nix ./satori/networking.nix
./satori/boot.nix ./satori/boot.nix
./satori/services.nix
./modules/nvidia-offload.nix ./modules/nvidia-offload.nix
./modules/pipewire.nix ./modules/pipewire.nix
./modules/xorg.nix ./modules/xorg.nix

View File

@@ -1,8 +1,6 @@
{ config, lib, pkgs, modulesPath, ... }: {lib, config, pkgs, ... }:
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot = { boot = {
kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_zen.override { kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_zen.override {
structuredExtraConfig = with lib.kernel; { structuredExtraConfig = with lib.kernel; {

View File

@@ -9,7 +9,7 @@
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047"; { device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
fsType = "btrfs"; fsType = "btrfs";
options = ["compress-force=zstd:4"]; options = ["compress-force=zstd:2"];
}; };
fileSystems."/boot/efi" = fileSystems."/boot/efi" =
@@ -40,7 +40,7 @@
fileSystems."/mnt/LinuxGames" = fileSystems."/mnt/LinuxGames" =
{ device = "/dev/sda5"; { device = "/dev/sda5";
fsType = "btrfs"; fsType = "btrfs";
options = ["rw" "compress-force=zstd:4"]; options = ["rw" "compress-force=zstd:2"];
}; };
swapDevices = [ {device = "/dev/nvme0n1p7";} ]; swapDevices = [ {device = "/dev/nvme0n1p7";} ];

View File

@@ -1,4 +1,4 @@
{lib, config, ... }: {config, ... }:
{ {
networking = { networking = {
@@ -15,6 +15,6 @@
}; };
}; };
defaultGateway = "192.168.0.1"; defaultGateway = "192.168.0.1";
nameservers = [ "192.168.0.1" ]; nameservers = [ "1.1.1.1" "8.8.8.8" ];
}; };
} }

View File

@@ -28,6 +28,7 @@
dmenu dmenu
st st
kbd kbd
cachix
]; ];
programs = { programs = {
steam.enable = true; steam.enable = true;
@@ -38,13 +39,23 @@
pinentryFlavor = "curses"; pinentryFlavor = "curses";
}; };
}; };
fish.enable = true; zsh = {
enable = true;
promptInit = "PROMPT='%F{cyan}%~ %F{blue}>%f '\nRPROMPT='%F{cyan}%n%f@%F{red}%m'";
histSize = 12000;
enableCompletion = true;
syntaxHighlighting.enable = true;
autosuggestions. enable = true;
ohMyZsh.enable = true;
};
dconf.enable = true; dconf.enable = true;
adb.enable = true;
}; };
nix = { nix = {
package = pkgs.nixUnstable; package = pkgs.nixUnstable;
extraOptions = '' extraOptions = ''
experimental-features = nix-command ca-references flakes experimental-features = nix-command ca-references flakes
''; '';
trustedUsers = [ "root" "natto" ];
}; };
} }

View File

@@ -1,10 +1,5 @@
{lib, config, agenix, pkgs, ... }: {config, agenix, pkgs, ... }:
{ {
imports = [
./stuff/fonts.nix
./stuff/users.nix
./stuff/services.nix
];
time.timeZone = "Asia/Kolkata"; time.timeZone = "Asia/Kolkata";
environment = { environment = {
sessionVariables = { sessionVariables = {
@@ -30,8 +25,16 @@
automatic = false; automatic = false;
dates = "20:15"; dates = "20:15";
}; };
nixpkgs.config = { fonts.fonts = with pkgs; [
allowUnfree = true; fira-mono
allowBroken = true; font-awesome
vistafonts
noto-fonts-cjk
];
users.users.natto = {
isNormalUser = true;
shell = pkgs.zsh;
home = "/home/natto";
extraGroups = [ "wheel" "adbusers" ];
}; };
} }

View File

@@ -1,12 +0,0 @@
{lib, config, pkgs, ... }:
{
fonts.fonts = with pkgs; [
fira-mono
font-awesome-ttf
powerline-fonts
vistafonts
noto-fonts-cjk
noto-fonts-emoji
];
}

View File

@@ -1,10 +0,0 @@
{config, pkgs, ... }:
{
users.users.natto = {
isNormalUser = true;
shell = pkgs.fish;
home = "/home/natto";
extraGroups = [ "wheel" "video" "audio" ];
};
}